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 datastromen. Als u nieuw bent met transformaties, raadpleegt u het inleidende artikel Gegevens transformeren met behulp van mapping-dataflows.
Gebruik de surrogaatsleuteltransformatie om een incrementele sleutelwaarde toe te voegen aan elke rij met gegevens. Dit is handig bij het ontwerpen van dimensietabellen in een analytisch gegevensmodel met een stervormig schema. In een stervormig schema vereist elk lid in uw dimensietabellen een unieke sleutel die een niet-zakelijke sleutel is.
Configuratie
Sleutelkolom: de naam van de gegenereerde surrogaatsleutelkolom.
Beginwaarde: de laagste sleutelwaarde die wordt gegenereerd.
Sleutels van bestaande bronnen incrementeel verhogen
Als u uw reeks wilt starten vanaf een waarde die in een bron bestaat, raden we u aan om een cache-sink te gebruiken om die waarde op te slaan en een afgeleide kolomtransformatie te gebruiken om de twee waarden samen te voegen. Gebruik een opzoekactie in de cache om de uitvoer op te halen en toe te voegen aan de gegenereerde sleutel. Meer informatie over cache-sinks en opzoekacties in de cache.
Verhogen van bestaande maximumwaarde
Als u de sleutelwaarde wilt seeden met het vorige maximum, zijn er twee technieken die u kunt gebruiken op basis van waar uw brongegevens zich bevinden.
Databasebronnen
Gebruik een SQL-queryoptie om MAX() te selecteren in uw bron. Bijvoorbeeld: Select MAX(<surrogateKeyName>) as maxval from <sourceTable>
.
Bestandsbronnen
Als uw vorige maximumwaarde zich in een bestand bevindt, gebruikt u de max()
functie in de statistische transformatie om de vorige maximumwaarde op te halen:
In beide gevallen moet u naar een cache-sink schrijven en de waarde opzoeken.
Script voor gegevensstroom
Syntaxis
<incomingStream>
keyGenerate(
output(<surrogateColumnName> as long),
startAt: <number>L
) ~> <surrogateKeyTransformationName>
Voorbeeld
Het script voor de gegevensstroom voor de bovenstaande surrogaatsleutelconfiguratie bevindt zich in het onderstaande codefragment.
AggregateDayStats
keyGenerate(
output(key as long),
startAt: 1L
) ~> SurrogateKey1
Gerelateerde inhoud
In deze voorbeelden worden de transformaties Join en Afgeleide kolommen gebruikt.