Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
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 .
Gegevensstromen zijn beschikbaar in zowel Azure Data Factory-pijplijnen als Azure Synapse Analytics-pijplijnen. Dit artikel is van toepassing op het in kaart brengen van gegevensstromen. Als u nieuw bent met transformaties, raadpleegt u het inleidende artikel Gegevens transformeren met behulp van mapping-dataflows.
Gebruik de selectietransformatie om kolommen te wijzigen, te verwijderen of opnieuw te ordenen. Deze transformatie wijzigt geen rijgegevens, maar kiest welke kolommen downstream worden doorgegeven.
In een selectietransformatie kunnen gebruikers vaste toewijzingen opgeven, patronen gebruiken om op regels gebaseerde toewijzingen uit te voeren of automatische toewijzing in te schakelen. Vaste toewijzingen en toewijzingen op basis van regels kunnen beide worden gebruikt binnen dezelfde selectietransformatie. Als een kolom niet overeenkomt met een van de gedefinieerde toewijzingen, wordt deze verwijderd.
Vaste toewijzing
Als er minder dan 50 kolommen zijn gedefinieerd in uw projectie, hebben alle gedefinieerde kolommen standaard een vaste toewijzing. Een vaste toewijzing maakt gebruik van een gedefinieerde, binnenkomende kolom en wijst deze toe aan een exacte naam.
Notitie
U kunt een gedrifte kolom niet toewijzen of de naam ervan wijzigen met behulp van een vaste toewijzing
Hiërarchische kolommen in kaart brengen
Vaste toewijzingen kunnen worden gebruikt om een subkolom van een hiërarchische kolom toe te wijzen aan een kolom op het hoogste niveau. Als u een gedefinieerde hiërarchie hebt, gebruik de kolom vervolgkeuzelijst om een subkolom te selecteren. Met de selectietransformatie wordt een nieuwe kolom gemaakt met de waarde en het gegevenstype van de subkolom.
toewijzing op basis van regels
Als u veel kolommen tegelijk wilt toewijzen of gedrifte kolommen downstream wilt doorgeven, gebruikt u op regels gebaseerde toewijzing om uw toewijzingen te definiëren met behulp van kolompatronen. Overeenkomen op basis van de name
, type
, stream
, en position
kolommen. U kunt elke combinatie van vaste toewijzingen en regels gebaseerde toewijzingen hebben. Standaard vallen alle projecties met meer dan 50 kolommen terug op een regelgebaseerde toewijzing die overeenkomt met elke kolom en de ingevoerde naam als resultaat geeft.
Als u een toewijzing op basis van regels wilt toevoegen, klikt u op Toewijzing toevoegen en selecteert u Toewijzing op basis van regels.
Elke regelgebaseerde toewijzing vereist twee invoerwaarden: de voorwaarde waarmee moet worden vergeleken en wat elke toegewezen kolom genoemd moet worden. 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 $$ + '_short'
gewijzigd in de expressietest_short
. Als dit de enige toewijzing is die bestaat, worden alle kolommen die niet aan de voorwaarde voldoen uit de uitgevoerde gegevens verwijderd.
Patronen komen overeen met zowel verschuivende als 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 gegevensvoorbeeld.
Regex-toewijzing
Als u op het naar beneden wijzende chevron-icoon klikt, kunt u een regex-voorwaarde opgeven. Een regex-toewijzingsvoorwaarde komt overeen met alle kolomnamen die de opgegeven regex-voorwaarde matchen. 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 standaard regel-gebaseerde toewijzing worden alle overeenkomende kolommen veranderd volgens de voorwaarde aan de rechterkant met behulp van de $$
-syntaxis.
Als u meerdere regex-overeenkomsten in uw kolomnaam hebt, kunt u verwijzen naar specifieke overeenkomsten met behulp van $n
waar 'n' verwijst naar welke overeenkomst. '$2' verwijst bijvoorbeeld naar de tweede gevonden binnen een kolomnaam.
Op regels gebaseerde hiërarchieën
Als uw gedefinieerde projectie een hiërarchie heeft, kunt u regelgebaseerde mapping gebruiken om de subkolommen van de hiërarchie toe te wijzen. Geef een overeenkomende voorwaarde en de complexe kolom op waarvan u de subkolommen wilt toewijzen. Elke overeenkomende subkolom zal worden weergegeven volgens de 'Naam als' regel 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
onder de voorwaarde 'Naam als' $$
.
Parameterisering
U kunt kolomnamen parameteriseren met behulp van regelgebaseerde toewijzing. Gebruik het trefwoord name
om binnenkomende kolomnamen te vergelijken met een parameter. Als u bijvoorbeeld een gegevensstroomparameter mycolumn
hebt, kunt u een regel maken die overeenkomt met elke kolomnaam die gelijk is aan mycolumn
. U kunt de naam van de overeenkomende kolom wijzigen in een vastgelegde tekenreeks, zoals 'zakelijke sleutel' en deze expliciet verwijzen. In dit voorbeeld is name == $mycolumn
de overeenkomende voorwaarde en de naamvoorwaarde 'bedrijfssleutel'.
Automatische koppeling
Wanneer u een selectietransformatie toevoegt, kan automatische toewijzing worden ingeschakeld door de schuifregelaar voor automatische toewijzing te schakelen. Met automatische toewijzing worden alle binnenkomende kolommen zonder duplicaten door de selectietransformatie toegewezen, waarbij de kolommen dezelfde naam behouden als hun invoer. Dit omvat gedrifte kolommen, wat betekent dat de uitvoergegevens mogelijk kolommen bevatten die niet zijn gedefinieerd in uw schema. Zie schemadrift voor meer informatie over gedrifte kolommen.
Als automatische toewijzing is ingeschakeld, zal de selectietransformatie de dubbele instellingen overslaan en een nieuwe alias voor de bestaande kolommen opgeven. Aliasing is handig bij het uitvoeren van meerdere joins of zoekacties op dezelfde stream en in scenario's voor zelfdeelname.
Dubbele kolommen
Standaard worden bij de selectietransformatie dubbele kolommen in zowel de invoer- als uitvoerprojectie verwijderd. Dubbele invoerkolommen komen vaak van samenvoegings- en opzoektransformaties waarbij kolomnamen aan elke kant van de join worden gedupliceerd. Dubbele uitvoerkolommen kunnen ontstaan als u twee verschillende invoerkolommen aan dezelfde naam toewijst. Kies of u dubbele kolommen wilt verwijderen of laten staan door het selectievakje aan te vinken of uit te vinken.
Volgorde van kolommen
De volgorde van toewijzingen bepaalt de volgorde van de uitvoerkolommen. Als een invoerkolom meerdere keren wordt toegewezen, wordt alleen de eerste toewijzing gehonoreerd. Bij het verwijderen van dubbele kolommen, wordt het eerste duplicaat bewaard.
Script voor gegevensstroom
Syntaxis
<incomingStream>
select(mapColumn(
each(<hierarchicalColumn>, match(<matchCondition>), <nameCondition> = $$), ## hierarchical rule-based matching
<fixedColumn>, ## fixed mapping, no rename
<renamedFixedColumn> = <fixedColumn>, ## fixed mapping, rename
each(match(<matchCondition>), <nameCondition> = $$), ## rule-based mapping
each(patternMatch(<regexMatching>), <nameCondition> = $$) ## regex mapping
),
skipDuplicateMapInputs: { true | false },
skipDuplicateMapOutputs: { true | false }) ~> <selectTransformationName>
Opmerking
Hieronder ziet u een voorbeeld van een selectietoewijzing en het bijbehorende gegevensstroomscript:
DerivedColumn1 select(mapColumn(
each(a, match(true())),
movie,
title1 = title,
each(match(name == 'Rating')),
each(patternMatch(`(y)`),
$1 + 'regex' = $$)
),
skipDuplicateMapInputs: true,
skipDuplicateMapOutputs: true) ~> Select1
Gerelateerde inhoud
- Nadat u Select hebt gebruikt om kolommen te hernoemen, opnieuw ordenen en aliasen, gebruikt u de Sink-transformatie om uw gegevens in een gegevensarchief te plaatsen.