Kolompatronen gebruiken in toewijzingsgegevensstromen

VAN TOEPASSING OP: Azure Data Factory Azure Synapse Analytics

Tip

Probeer Data Factory uit in Microsoft Fabric, een alles-in-één analyseoplossing voor ondernemingen. Microsoft Fabric omvat alles, van gegevensverplaatsing tot gegevenswetenschap, realtime analyses, business intelligence en rapportage. Meer informatie over het gratis starten van een nieuwe proefversie .

Met verschillende transformaties van toewijzingsgegevensstromen kunt u verwijzen naar sjabloonkolommen op basis van patronen in plaats van in vastgelegde kolomnamen. Deze overeenkomst wordt kolompatronen genoemd. U kunt patronen definiëren die overeenkomen met kolommen op basis van naam, gegevenstype, stroom, oorsprong of positie in plaats van exacte veldnamen te vereisen. Er zijn twee scenario's waarin kolompatronen nuttig zijn:

  • Als binnenkomende bronvelden vaak veranderen, zoals het geval van het wijzigen van kolommen in tekstbestanden of NoSQL-databases. Dit scenario wordt schemadrift genoemd.
  • Als u een algemene bewerking wilt uitvoeren voor een grote groep kolommen. Als u bijvoorbeeld elke kolom met 'totaal' in de kolomnaam wilt casten naar een dubbele kolom.

Kolompatronen in afgeleide kolom en aggregaties

Als u een kolompatroon wilt toevoegen aan een afgeleide kolom, aggregaties of venstertransformatie, klikt u op Toevoegen boven de kolomlijst of het pluspictogram naast een bestaande afgeleide kolom. Kies Kolompatroon toevoegen.

Screenshot shows the plus icon to Add column pattern.

Gebruik de opbouwfunctie voor expressies om de voorwaarde voor overeenkomst in te voeren. Maak een Boole-expressie die overeenkomt met kolommen op basis van de nametype, , streamen positionoriginvan de kolom. Het patroon is van invloed op elke kolom, gedrift of gedefinieerd, waarbij de voorwaarde waar retourneert.

Screenshot shows the Derived column's settings tab.

Het bovenstaande kolompatroon komt overeen met elke kolom van het type double en maakt één afgeleide kolom per overeenkomst. Door op te geven $$ als het kolomnaamveld, wordt elke overeenkomende kolom bijgewerkt met dezelfde naam. De waarde van elke kolom is de bestaande waarde die is afgerond op twee decimalen.

Als u wilt controleren of uw overeenkomende voorwaarde juist is, kunt u het uitvoerschema van gedefinieerde kolommen valideren op het tabblad Inspecteren of een momentopname van de gegevens ophalen op het tabblad Voorbeeld van gegevens .

Screenshot shows the Output schema tab.

Hiërarchische patroonkoppeling

U kunt ook patronen bouwen die overeenkomen met complexe hiërarchische structuren. Vouw de sectie Each MoviesStruct that matches uit waarin u wordt gevraagd om elke hiërarchie in uw gegevensstroom. Vervolgens kunt u overeenkomende patronen maken voor eigenschappen binnen die gekozen hiërarchie.

Screenshot shows hierarchical column pattern.

Afvlakkende structuren

Wanneer uw gegevens complexe structuren hebben, zoals matrices, hiërarchische structuren en kaarten, kunt u de transformatie Platten gebruiken om matrices uit te schrijven en uw gegevens te denormaliseren. Voor structuren en kaarten gebruikt u de afgeleide kolomtransformatie met kolompatronen om uw afgevlakte relationele tabel te vormen vanuit de hiërarchieën. U kunt de kolompatronen gebruiken die er als volgt uitzien, waarmee de geografische hiërarchie wordt afgevlakt in een relationele tabelvorm:

Screenshot shows the Derived column's flatten structure.

Toewijzing op basis van regels in select en sink

Wanneer u kolommen in de bron toe te voegen en transformaties selecteert, kunt u vaste toewijzingen of toewijzingen op basis van regels toevoegen. Overeenkomen op basis van de namekolommen , type, streamen positionoriginkolommen. U kunt elke combinatie van vaste toewijzingen en toewijzingen op basis van regels hebben. Standaard worden alle projecties met meer dan 50 kolommen standaard toegewezen aan een op regels gebaseerde toewijzing die overeenkomt met elke kolom en wordt de ingevoerde naam uitgevoerd.

Als u een toewijzing op basis van regels wilt toevoegen, klikt u op Toewijzing toevoegen en selecteert u Toewijzing op basis van regels.

Screenshot shows Rule-based mapping selected from Add mapping.

Elke toewijzing op basis van regels vereist twee invoerwaarden: de voorwaarde waarop moet worden vergeleken met en wat elke toegewezen kolom een naam moet geven. Beide waarden worden ingevoerd via de opbouwfunctie voor expressies. Voer in het linkerexpressievak de booleaanse overeenkomstvoorwaarde in. Geef in het rechterexpressievak op waaraan de overeenkomende kolom wordt toegewezen.

Screenshot shows a mapping.

Gebruik $$ de syntaxis om te verwijzen naar de invoernaam van een overeenkomende kolom. Als u de bovenstaande afbeelding als voorbeeld gebruikt, zegt u dat een gebruiker wil overeenkomen met alle tekenreekskolommen waarvan de namen korter zijn dan zes tekens. Als één binnenkomende kolom de naam heeft gekregentest, wordt de naam van de kolom test_shortgewijzigd in de expressie$$ + '_short'. Als dit de enige toewijzing is die bestaat, worden alle kolommen die niet voldoen aan de voorwaarde verwijderd uit de uitvoergegevens.

Patronen komen overeen met gedrifte en gedefinieerde kolommen. Als u wilt zien welke gedefinieerde kolommen aan een regel zijn toegewezen, klikt u op het brilpictogram naast de regel. Controleer de uitvoer met behulp van een voorbeeld van gegevens.

Regex-toewijzing

Als u op het pijl-omlaag punthaakpictogram klikt, kunt u een regex-toewijzingsvoorwaarde opgeven. Een regex-toewijzingsvoorwaarde komt overeen met alle kolomnamen die overeenkomen met de opgegeven regex-voorwaarde. Dit kan worden gebruikt in combinatie met standaardtoewijzingen op basis van regels.

Screenshot shows the regex-mapping condition with Hierarchy level and Name matches.

Het bovenstaande voorbeeld komt overeen met het regex-patroon (r) of een kolomnaam die een kleine letter r bevat. Net als bij standaardregeltoewijzing worden alle overeenkomende kolommen gewijzigd door de voorwaarde aan de rechterkant met behulp van $$ de syntaxis.

Op regels gebaseerde hiërarchieën

Als uw gedefinieerde projectie een hiërarchie heeft, kunt u toewijzing op basis van regels gebruiken om de subcolumns van de hiërarchieën toe te wijzen. Geef een overeenkomende voorwaarde en de complexe kolom op waarvan u de subkolommen wilt toewijzen. Elke overeenkomende subcolumn wordt uitgevoerd met behulp van de regel 'Naam als' die aan de rechterkant is opgegeven.

Screenshot shows a rule-based mapping using for a hierarchy.

Het bovenstaande voorbeeld komt overeen met alle subkolommen van een complexe kolom a. a bevat twee subcolumns b en c. Het uitvoerschema bevat twee kolommen b en c als de voorwaarde $$'Naam als'.

Waarden voor patroonkoppelingsexpressie

  • $$ wordt omgezet in de naam of waarde van elke overeenkomst tijdens runtime. $$ Beschouwen als gelijkwaardig aanthis
  • $0 wordt omgezet in de huidige kolomnaamovereenkomst tijdens runtime voor scalaire typen. Voor hiërarchische typen $0 vertegenwoordigt u het huidige overeenkomende pad voor de kolomhiërarchie.
  • name vertegenwoordigt de naam van elke binnenkomende kolom
  • type vertegenwoordigt het gegevenstype van elke binnenkomende kolom. De lijst met gegevenstypen in het systeem voor gegevensstromen vindt u hier.
  • stream vertegenwoordigt de naam die is gekoppeld aan elke stroom of transformatie in uw stroom
  • position is de rangschikkelijke positie van kolommen in uw gegevensstroom
  • origin is de transformatie waar een kolom vandaan komt of voor het laatst is bijgewerkt