Náhradní transformace klíče při mapování toku dat

VZTAHUJE SE NA: Azure Data Factory Azure Synapse Analytics

Tip

Data Factory v Microsoft Fabric je nová generace Azure Data Factory s jednodušší architekturou, integrovanou AI a novými funkcemi. Pokud s integrací dat začínáte, začněte Fabric Data Factory. Stávající úlohy ADF lze upgradovat na Fabric pro přístup k novým funkcím v oblastech datové vědy, analýz v reálném čase a vytváření sestav.

Toky dat jsou k dispozici v kanálech Azure Data Factory i v kanálech Azure Synapse Analytics. Tento článek se týká mapování toků dat. Pokud s transformacemi začínáte, přečtěte si úvodní článek Transformace dat pomocí mapování toků dat.

Tip

Ekvivalentní transformaci (indexový sloupec) v toku dat Gen2 najdete v průvodci tokem dat Gen2 pro mapování uživatelů toku dat.

Pomocí transformace náhradního klíče přidejte do každého řádku dat hodnotu klíče, která se zvýší. To je užitečné při navrhování tabulek dimenzí v analytickém datovém modelu hvězdicového schématu. Ve hvězdicovém schématu vyžaduje každý člen tabulky dimenzí jedinečný klíč, který není obchodním klíčem.

Konfigurace

Transformace náhradního klíče

Sloupec klíče: Název vygenerovaného sloupce náhradního klíče.

Počáteční hodnota: Nejnižší hodnota klíče, která se vygeneruje.

Zvýšení klíčů z existujících zdrojů

Pokud chcete spustit sekvenci z hodnoty, která existuje ve zdroji, doporučujeme tuto hodnotu uložit pomocí jímky mezipaměti a pomocí odvozené transformace sloupce tyto dvě hodnoty spojit. Pomocí vyhledávání v mezipaměti získejte výstup a připojte ho ke vygenerovanému klíči. Další informace se dozvíte o jímkách mezipaměti a vyhledáváních v mezipaměti.

Náhradní vyhledávání klíčů

Zvýšení z existující maximální hodnoty

K nastavení hodnoty klíče s předchozím maximem existují dvě techniky, které lze použít podle umístění vašich zdrojových dat.

Zdroje databáze

Použijte možnost dotazu SQL k výběru max() ze zdroje. Například Select MAX(<surrogateKeyName>) as maxval from <sourceTable>.

Náhradní dotaz na klíč

Zdroje souborů

Pokud je předchozí maximální hodnota v souboru, použijte max() funkci v agregované transformaci a získejte předchozí maximální hodnotu:

Náhradní soubor klíče

V obou případech budete muset zapisovat do jímky mezipaměti a vyhledat hodnotu.

Skript toku dat

Syntaxe

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

Příklad

Transformace náhradního klíče

Skript toku dat pro výše uvedenou konfiguraci náhradního klíče je v následujícím fragmentu kódu.

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

Tyto příklady používají transformace Join a Derived Column.