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.
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 name
type
, , stream
en position
origin
van de kolom. Het patroon is van invloed op elke kolom, gedrift of gedefinieerd, waarbij de voorwaarde waar retourneert.
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 .
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.
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:
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 name
kolommen , type
, stream
en position
origin
kolommen. 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.
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.
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_short
gewijzigd 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.
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.
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 kolomtype
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 stroomposition
is de rangschikkelijke positie van kolommen in uw gegevensstroomorigin
is de transformatie waar een kolom vandaan komt of voor het laatst is bijgewerkt
Gerelateerde inhoud
- Meer informatie over de expressietaal voor toewijzingsgegevensstromen voor gegevenstransformaties
- Kolompatronen gebruiken in de sinktransformatie en transformatie selecteren met toewijzing op basis van regels