Transformation für Ersatzschlüssel im Zuordnungsdatenfluss

GILT FÜR: Azure Data Factory Azure Synapse Analytics

Tipp

Testen Sie Data Factory in Microsoft Fabric, eine All-in-One-Analyselösung für Unternehmen. Microsoft Fabric deckt alle Aufgaben ab, von der Datenverschiebung bis hin zu Data Science, Echtzeitanalysen, Business Intelligence und Berichterstellung. Erfahren Sie, wie Sie kostenlos eine neue Testversion starten!

Datenflüsse sind sowohl in Azure Data Factory als auch in Azure Synapse-Pipelines verfügbar. Dieser Artikel gilt für Zuordnungsdatenflüsse. Wenn Sie noch nicht mit Transformationen arbeiten, lesen Sie den Einführungsartikel Transformieren von Daten mit einem Zuordnungsdatenfluss.

Verwenden Sie die Transformation für Ersatzschlüssel, um einen inkrementell geänderten Schlüsselwert für jede Datenzeile hinzuzufügen. Dieses Vorgehen ist nützlich, wenn Sie Dimensionstabellen in einem analytischen Datenmodell mit Sternschema entwerfen. In einem Sternschema erfordert jedes Mitglied in Dimensionstabellen einen eindeutigen Schlüssel, bei dem es sich nicht um einen Geschäftsschlüssel handelt.

Konfiguration

Surrogate Key Transform

Schlüsselspalte: Der Name der Spalte mit dem generierten Ersatzschlüssel.

Startwert: Die niedrigste Schlüsselwert, der generiert wird.

Inkrementelle Schlüssel aus vorhandenen Quellen

Um Ihre Sequenz von einem Wert aus zu starten, der in einer Quelle vorhanden ist, wird empfohlen, eine Cachesenke zum Speichern dieses Werts und eine Transformation für abgeleitete Spalten zum gemeinsamen Hinzufügen der beiden Werte zu verwenden. Verwenden Sie eine zwischengespeicherte Suche, um die Ausgabe abzurufen, und fügen Sie sie an den generierten Schlüssel an. Weitere Informationen finden Sie unter Cachesenken und zwischengespeicherten Suchen.

Surrogate Key lookup

Inkrement des vorhandenen Maximalwerts

Ein Seeding für den Schlüsselwert mit dem vorherigen Maximalwert lässt sich mit zwei Methoden durchführen, je nachdem, wo sich Ihre Quelldaten befinden.

Datenbankquellen

Verwenden Sie eine SQL-Abfrageoption, um „MAX()“ aus Ihrer Quelle auszuwählen. Beispielsweise Select MAX(<surrogateKeyName>) as maxval from <sourceTable>.

Surrogate Key Query

Dateiquellen

Wenn sich der vorherige Maximalwert in einer Datei befindet, verwenden Sie die max()-Funktion in der Aggregattransformation, um den vorherigen Maximalwert abzurufen:

Surrogate Key File

In beiden Fällen müssen Sie in eine Cachesenke schreiben und den Wert suchen.

Datenflussskript

Syntax

<incomingStream> 
    keyGenerate(
        output(<surrogateColumnName> as long),
        startAt: <number>L
    ) ~> <surrogateKeyTransformationName>

Beispiel

Surrogate Key Transform

Der nachfolgende Codeausschnitt zeigt das Datenflussskript für die obige Konfiguration des Ersatzschlüssels.

AggregateDayStats
    keyGenerate(
        output(key as long),
        startAt: 1L
    ) ~> SurrogateKey1

Diese Beispiele verwenden die Transformationen Verbinden und Abgeleitete Spalten Transformationen.