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

PLATÍ PRO: Azure Data Factory Azure Synapse Analytics

Tip

Vyzkoušejte si službu Data Factory v Microsoft Fabric, řešení pro analýzy typu all-in-one pro podniky. Microsoft Fabric zahrnuje všechno od přesunu dat až po datové vědy, analýzy v reálném čase, business intelligence a vytváření sestav. Přečtěte si, jak začít používat novou zkušební verzi zdarma.

Toky dat jsou k dispozici ve službě Azure Data Factory i v kanálech Azure Synapse. 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í 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

Surrogate Key Transform

Klíčový sloupec: 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í transformace odvozeného sloupce tyto dvě hodnoty sečíst. Pomocí vyhledávání v mezipaměti získejte výstup a připojte ho ke vygenerovanému klíči. Další informace o jímkách mezipaměti a vyhledáváních uložených v mezipaměti.

Surrogate Key lookup

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

Pro počáteční hodnotu klíče s předchozím maximem existují dvě techniky, které můžete použít na základě toho, kde jsou zdrojová data.

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>.

Surrogate Key Query

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:

Surrogate Key File

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

Surrogate Key Transform

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 spojení a odvozeného sloupce .