Aktivita Flow dat v Azure Data Factory a Azure Synapse Analytics

PLATÍ PRO: Azure Data Factory Azure Synapse Analytics

Pomocí aktivity Data Flow můžete transformovat a přesouvat data prostřednictvím mapování toků dat. Pokud s toky dat ještě nejste, podívejte se na přehled mapování Flow dat.

Syntax

{
    "name": "MyDataFlowActivity",
    "type": "ExecuteDataFlow",
    "typeProperties": {
      "dataflow": {
         "referenceName": "MyDataFlow",
         "type": "DataFlowReference"
      },
      "compute": {
         "coreCount": 8,
         "computeType": "General"
      },
      "traceLevel": "Fine",
      "runConcurrently": true,
      "continueOnError": true,      
      "staging": {
          "linkedService": {
              "referenceName": "MyStagingLinkedService",
              "type": "LinkedServiceReference"
          },
          "folderPath": "my-container/my-folder"
      },
      "integrationRuntime": {
          "referenceName": "MyDataFlowIntegrationRuntime",
          "type": "IntegrationRuntimeReference"
      }
}

Vlastnosti typu

Vlastnost Popis Povolené hodnoty Vyžadováno
Dataflow Odkaz na data, Flow se provádí Odkaz na tok dat Yes
integrationRuntime Výpočetní prostředí, ve které tok dat běží. Pokud není zadaný, použije se automaticky překládaní prostředí Azure Integration Runtime. IntegrationRuntimeReference No
compute.coreCount Počet jader použitých v clusteru Spark Je možné zadat pouze v případě, že se používá automatické řešení prostředí Azure Integration Runtime. 8, 16, 32, 48, 80, 144, 272 No
compute.computeType Typ výpočetních prostředků používaný v clusteru Spark. Je možné zadat pouze v případě, že se používá automatické řešení prostředí Azure Integration Runtime. "Obecné", "Optimalizováno pro výpočty", "Optimalizováno pro paměť" No
staging.linkedService Pokud používáte zdroj nebo jímku Azure Synapse Analytics, zadejte účet úložiště, který se používá pro pracovní prostředí PolyBase.

Pokud je váš Azure Storage nakonfigurovaný s koncovým bodem služby virtuální sítě, musíte použít ověřování spravované identity s povoleným "povolením důvěryhodné služby Microsoftu" v účtu úložiště, přečtěte si článek Dopad používání koncových bodů služeb virtuální sítě s úložištěm Azure. Seznamte se také s potřebnými konfiguracemi pro Azure Blob a Azure Data Lake Storage Gen2.
LinkedServiceReference Pouze v případě, že tok dat čte nebo zapisuje do Azure Synapse Analytics
staging.folderPath Pokud používáte zdroj nebo jímku Azure Synapse Analytics, cesta ke složce v účtu úložiště objektů blob, která se používá pro pracovní prostředí PolyBase. Řetězec Pouze v případě, že tok dat čte nebo zapisuje do Azure Synapse Analytics
Tracelevel Nastavení úrovně protokolování provádění aktivity toku dat Fine, Coarse, None No

Spuštění datových Flow

Dynamická velikost výpočetních prostředků toku dat za běhu

Vlastnosti Počet jader a Typ výpočetních prostředků je možné nastavit dynamicky, aby se přizpůsobí velikosti příchozích zdrojových dat za běhu. K vyhledání velikosti zdrojových dat datové sady použijte aktivity kanálu, jako je vyhledávání nebo získání metadat. Potom použijte možnost Přidat dynamický obsah ve vlastnostech aktivity Flow dat.

Poznámka

Při výběru jader ovladačů a pracovních uzlů v Azure Synapse toků dat se vždy využijí minimálně 3 uzly.

Dynamické datové Flow

Tady je stručný videoku tutorial vysvětlující tuto techniku.

Prostředí Data Flow Integration Runtime

Vyberte, Integration Runtime se mají použít pro provádění aktivity Flow data. Ve výchozím nastavení bude služba používat automaticky překládaní prostředí Azure Integration Runtime se čtyřmi jádry pracovních procesů. Toto prostředí IR má typ výpočetních prostředků pro obecné účely a běží ve stejné oblasti jako vaše instance služby. Pro zprovozněné kanály důrazně doporučujeme vytvořit vlastní prostředí Azure Integration Runtime, která definují konkrétní oblasti, typ výpočetních prostředků, počty jader a hodnotu TTL pro provádění aktivit toku dat.

Minimální typ výpočetních prostředků Pro obecné účely (optimalizované pro výpočty se nedoporučuje pro velké úlohy) s konfigurací 8+8 (celkem 16 virtuálních jader) a 10 minut je minimální doporučení pro většinu produkčních úloh. Nastavením malé hodnoty TTL může Azure IR udržovat teplé clustery, u kterých nebude začíná několik minut počátečního času pro studený cluster. Provádění toků dat můžete ještě více urychlit výběrem možnosti Rychlé opětovné použití v konfiguraci Azure IR toku dat. Další informace najdete v tématu Azure Integration Runtime.

Azure Integration Runtime

Důležité

Výběr Integration Runtime aktivitě Datové Flow se vztahuje pouze na aktivované spuštění vašeho kanálu. Ladění kanálu s toky dat se spouští v clusteru zadaném v relaci ladění.

PolyBase

Pokud jako jímku nebo Azure Synapse Analytics používáte pracovní umístění, musíte zvolit pracovní umístění pro dávkové načítání PolyBase. PolyBase umožňuje hromadné dávkové načítání místo načítání dat řádek po řádku. PolyBase výrazně zkracuje dobu načítání Azure Synapse Analytics.

Úroveň protokolování

Pokud k úplného protokolování všech podrobných protokolů telemetrie nevyžadujete každé spuštění kanálu aktivit toku dat, můžete volitelně nastavit úroveň protokolování na Basic nebo None. Při spouštění toků dat v režimu Podrobné (výchozí) požadujete, aby služba během transformace dat plně protokoluje aktivitu na jednotlivých úrovních oddílů. Může to být náročná operace, takže pokud při řešení potíží povolíte podrobné informace, můžete zvýšit celkový výkon toku dat a kanálu. Režim "Základní" bude protokolovat pouze doby trvání transformace, zatímco "Žádné" bude poskytovat pouze souhrn doby trvání.

Úroveň protokolování

Vlastnosti jímky

Funkce seskupení v tocích dat umožňuje nastavit pořadí provádění jímek i seskupit jímky pomocí stejného čísla skupiny. Abyste pomohli se spravovat skupiny, můžete službu požádat, aby paralelně spouštěl jímky ve stejné skupině. Můžete také nastavit, aby skupina jímek pokračovala i v případě, že u jedné z jímek dojde k chybě.

Výchozím chováním jímek toku dat je postupné spouštění jednotlivých jímek, jejich sériového zpracování a selhání toku dat v případě, že v jímce dojde k chybě. Kromě toho jsou všechny jímky ve výchozím nastavení stejné skupině, pokud nezadáte vlastnosti toku dat a nenastavíte pro jímky různé priority.

Vlastnosti jímky

Pouze první řádek

Tato možnost je dostupná jenom pro toky dat, které mají povolené jímky mezipaměti pro výstup do aktivity. Výstup toku dat, který se injektuje přímo do vašeho kanálu, je omezený na 2 MB. Nastavení "pouze prvního řádku" vám pomůže omezit výstup dat z toku dat při vložení výstupu aktivity toku dat přímo do vašeho kanálu.

Parametrizace toků dat

Parametrizované datové sady

Pokud tok dat používá parametrizované datové sady, nastavte na kartě Nastavení parametrů.

Spuštění parametrů Flow dat

Parametrizované toky dat

Pokud je tok dat parametrizovaný, nastavte dynamické hodnoty parametrů toku dat na kartě Parametry. K přiřazení dynamických nebo literálových hodnot parametrů můžete použít jazyk výrazu kanálu nebo jazyk výrazů toku dat. Další informace najdete v tématu Parametry Flow dat.

Parametrizované výpočetní vlastnosti.

Pokud používáte modul runtime integrace Azure s automatickým překladem a zadáte hodnoty pro compute.coreCount a compute.computeType, můžete parametrizovat počet jader nebo typ výpočetních prostředků.

Příklad spuštění Flow parametru

Ladění kanálu aktivity Flow dat

Pokud chcete spustit kanál ladění s aktivitou datového Flow, musíte na horním panelu přepnout režim ladění toku dat pomocí posuvníku Flow Ladění. Režim ladění umožňuje spustit tok dat na aktivním clusteru Spark. Další informace najdete v tématu Režim ladění.

Snímek obrazovky znázorňující, kde je tlačítko Ladit

ladicí kanál běží na aktivním ladicím clusteru, nikoli v prostředí integration runtime zadaném v nastaveních aktivity Flow dat. Můžete zvolit prostředí ladění COMPUTE při spuštění režimu ladění.

sledování aktivity Flow dat

aktivita Flow dat má speciální prostředí pro monitorování, ve kterém můžete zobrazit oddíly, dobu fáze a informace o datových řádcích. Otevřete podokno monitorování pomocí ikony brýlí v části Akce. Další informace najdete v tématu monitorování toků dat.

použití aktivity Flow dat výsledků v následující aktivitě

Aktivita toku dat výstupuje metriky týkající se počtu řádků zapsaných do každé jímky a řádků načtených z každého zdroje. Tyto výsledky se vrátí v output části výsledku spuštění aktivity. Vrácené metriky jsou ve formátu níže uvedeného formátu JSON.

{
    "runStatus": {
        "metrics": {
            "<your sink name1>": {
                "rowsWritten": <number of rows written>,
                "sinkProcessingTime": <sink processing time in ms>,
                "sources": {
                    "<your source name1>": {
                        "rowsRead": <number of rows read>
                    },
                    "<your source name2>": {
                        "rowsRead": <number of rows read>
                    },
                    ...
                }
            },
            "<your sink name2>": {
                ...
            },
            ...
        }
    }
}

Pokud například chcete získat počet řádků zapsaných do jímky s názvem ' sink1 ' v aktivitě s názvem ' dataflowActivity ', použijte @activity('dataflowActivity').output.runStatus.metrics.sink1.rowsWritten .

Chcete-li získat počet řádků načtených ze zdroje s názvem ' source1 ', který byl použit v této jímky, použijte @activity('dataflowActivity').output.runStatus.metrics.sink1.sources.source1.rowsRead .

Poznámka

Pokud má jímka zapsána nula řádků, nebude zobrazena v metrikách. Existenci lze ověřit pomocí contains funkce. Například zkontroluje, contains(activity('dataflowActivity').output.runStatus.metrics, 'sink1') zda byly do sink1 zapsány nějaké řádky.

Další kroky

Viz Podporované aktivity toku řízení: