Sdílet prostřednictvím


Výběr transformace v 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 výběru přejmenujte, přetáhněte nebo změňte pořadí sloupců. Tato transformace nemění data řádků, ale vybírá sloupce, které se šíří v podřízené části.

Ve vybrané transformaci můžou uživatelé zadat pevná mapování, použít vzory k mapování založenému na pravidlech nebo povolit automatické mapování. Pevná mapování i mapování založená na pravidlech se dají použít ve stejné výběrové transformaci. Pokud sloupec neodpovídá některému z definovaných mapování, zahodí se.

Oprava mapování

Pokud je v projekci definováno méně než 50 sloupců, budou mít všechny definované sloupce ve výchozím nastavení pevné mapování. Pevné mapování přebírá definovaný, příchozí sloupec a mapuje ho přesný název.

Oprava mapování

Poznámka:

Nedají se mapovat ani přejmenovat posunovaný sloupec pomocí pevného mapování.

Mapování hierarchických sloupců

Pevná mapování lze použít k mapování podsloupce hierarchického sloupce na sloupec nejvyšší úrovně. Pokud máte definovanou hierarchii, vyberte v rozevíracím seznamu sloupce dílčí sloupec. Transformace výběru vytvoří nový sloupec s hodnotou a datovým typem podsloupce.

hierarchické mapování

Mapování založené na pravidlech

Pokud chcete namapovat mnoho sloupců najednou nebo předat podřízené sloupce, použijte mapování založené na pravidlech k definování mapování pomocí vzorů sloupců. Porovná se na namezákladě sloupce , type, streama position sloupce. Můžete mít libovolnou kombinaci pevných mapování a mapování založených na pravidlech. Ve výchozím nastavení se ve všech projekcích s více než 50 sloupci ve výchozím nastavení použije mapování založené na pravidlech, které odpovídá každému sloupci a vypíše zadaný název.

Chcete-li přidat mapování založené na pravidlech, klepněte na tlačítko Přidat mapování a vyberte mapování založené na pravidlech.

Snímek obrazovky znázorňující mapování založené na pravidlech vybrané z nabídky Přidat mapování

Každé mapování založené na pravidlech vyžaduje dva vstupy: podmínku, podle které se má shodovat, a název každého mapovaného sloupce. Obě hodnoty se zadávají prostřednictvím tvůrce výrazů. Do levého pole výrazu zadejte logickou podmínku shody. Do pravého pole výrazu zadejte, na co se bude namapovat odpovídající sloupec.

Snímek obrazovky ukazuje mapování.

Pomocí $$ syntaxe můžete odkazovat na vstupní název odpovídajícího sloupce. Když použijete výše uvedený obrázek jako příklad, řekněme, že uživatel chce shodovat se všemi řetězcovými sloupci, jejichž názvy jsou kratší než šest znaků. Pokud byl pojmenován testjeden příchozí sloupec , výraz $$ + '_short' přejmenuje sloupec test_short. Pokud je to jediné mapování, které existuje, všechny sloupce, které nesplňují podmínku, se z výstupních dat zahodí.

Vzory odpovídají posunutým i definovaným sloupcům. Pokud chcete zjistit, které definované sloupce jsou mapovány pravidlem, klikněte na ikonu brýlí vedle pravidla. Ověřte výstup pomocí náhledu dat.

Mapování regulárních výrazů

Pokud kliknete na ikonu dvojité šipky dolů, můžete zadat podmínku mapování regulárních výrazů. Podmínka mapování regulárních výrazů odpovídá všem názvům sloupců, které odpovídají zadané podmínce regulárního výrazu. To lze použít v kombinaci se standardními mapováními založenými na pravidlech.

Snímek obrazovky znázorňující podmínku mapování regulárních výrazů s odpovídající úrovní hierarchie a názvem

Výše uvedený příklad odpovídá vzoru regulárního výrazu (r) nebo libovolnému názvu sloupce, který obsahuje malé písmeno r. Podobně jako u standardního mapování založeného na pravidlech se všechny odpovídající sloupce mění podmínkou na pravé straně pomocí $$ syntaxe.

Pokud máte v názvu sloupce více shod regulárních výrazů, můžete odkazovat na konkrétní shody pomocí místa $n , kde n odkazuje na shodu. Například $2 odkazuje na druhou shodu v názvu sloupce.

Hierarchie založené na pravidlech

Pokud má definovaná projekce hierarchii, můžete k mapování podsloupců hierarchií použít mapování založené na pravidlech. Zadejte odpovídající podmínku a složitý sloupec, jehož podsloupce chcete mapovat. Každý odpovídající podsloupec se vypíše pomocí pravidla Name as zadaného na pravé straně.

Snímek obrazovky ukazuje mapování založené na pravidlech, které se používá pro hierarchii.

Výše uvedený příklad odpovídá všem dílčím sloupcům komplexního sloupce a. a obsahuje dva podsloupce b a c. Výstupní schéma bude obsahovat dva sloupce b a c jako podmínku Name as je $$.

Parametrizace

Názvy sloupců můžete parametrizovat pomocí mapování založeného na pravidlech. Pomocí klíčového slova name můžete spárovat názvy příchozích sloupců s parametrem. Pokud máte například parametr mycolumntoku dat, můžete vytvořit pravidlo, které odpovídá názvu libovolného sloupce, který se rovná mycolumn. Odpovídající sloupec můžete přejmenovat na pevně zakódovaný řetězec, například "obchodní klíč", a odkazovat na něj explicitně. V tomto příkladu je name == $mycolumn odpovídající podmínka a podmínka názvu je "obchodní klíč".

Automatické mapování

Při přidávání výběrové transformace je možné automatické mapování povolit přepnutím posuvníku automatického mapování. Při automatickém mapování se při výběru transformací mapují všechny příchozí sloupce s výjimkou duplicit se stejným názvem jako jejich vstup. To bude zahrnovat posunované sloupce, což znamená, že výstupní data mohou obsahovat sloupce, které nejsou definovány ve vašem schématu. Další informace o posunovaných sloupcích najdete v tématu Posun schématu.

Automatické mapování

Při automatickém mapování bude výběr transformace respektovat přeskočení duplicitních nastavení a poskytnout nový alias pro existující sloupce. Aliasing je užitečný při provádění více spojení nebo vyhledávání ve stejném datovém proudu a ve scénářích s vlastním spojením.

Duplicitní sloupce

Ve výchozím nastavení výběrová transformace zahodí duplicitní sloupce ve vstupní i výstupní projekci. Duplicitní vstupní sloupce často pocházejí z transformací spojení a vyhledávání, kde se názvy sloupců duplikují na každé straně spojení. Duplicitní výstupní sloupce můžou nastat, pokud namapujete dva různé vstupní sloupce na stejný název. Zvolte, jestli chcete přetáhnout nebo předat duplicitní sloupce přepnutím zaškrtávacího políčka.

Přeskočit duplicity

Řazení sloupců

Pořadí mapování určuje pořadí výstupních sloupců. Pokud je vstupní sloupec namapován vícekrát, bude dodrženo pouze první mapování. U jakéhokoli vyřazení duplicitního sloupce se první shoda zachová.

Skript toku dat

Syntaxe

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

Příklad

Níže je příklad mapování výběru a skriptu toku dat:

Výběr příkladu skriptu

DerivedColumn1 select(mapColumn(
        each(a, match(true())),
        movie,
        title1 = title,
        each(match(name == 'Rating')),
        each(patternMatch(`(y)`),
            $1 + 'regex' = $$)
    ),
    skipDuplicateMapInputs: true,
    skipDuplicateMapOutputs: true) ~> Select1
  • Po použití funkce Select k přejmenování, změně pořadí a aliasu sloupců použijte transformaci jímky k vytvoření dat do úložiště dat.