Tok dat aktivita v Azure Data Factory a Azure Synapse Analytics

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.

Pomocí aktivity Tok dat můžete transformovat a přesouvat data prostřednictvím mapování toků dat. Pokud začínáte s mapováním datových toků, podívejte se na Přehled mapování datových toků

Vytvoření aktivity Tok dat pomocí uživatelského rozhraní

Pokud chcete použít aktivitu Tok dat v kanálu, proveďte následující kroky:

  1. V podokně Aktivity kanálu vyhledejte Tok dat a přetáhněte Tok dat aktivitu na plátno kanálu.

  2. Vyberte novou aktivitu Tok dat na plátně, pokud ještě není vybraná, a na kartě Nastavení upravte její podrobnosti.

    Zobrazí uživatelské rozhraní pro aktivitu toku dat.

  3. Klíč kontrolního bodu slouží k nastavení kontrolního bodu při použití toku dat ke změně zachytávání dat. Můžete ho přepsat. Aktivity toku dat používají jako klíč kontrolního bodu hodnotu GUID místo „název kanálu + název aktivity“, aby mohly neustále sledovat stav zachycování změnových dat zákazníka, i když dojde k přejmenování. Všechny stávající aktivity toku dat používají starý klíč vzoru pro zpětnou kompatibilitu. Možnost klíče kontrolního bodu po publikování nové aktivity toku dat s povoleným prostředkem zachytávání změn v toku dat je uvedena níže.

    Zobrazuje uživatelské rozhraní pro aktivitu Tok dat s klíčem kontrolního bodu.

  4. Vyberte existující tok dat nebo vytvořte nový pomocí tlačítka Nový. Vyberte další možnosti podle potřeby pro dokončení konfigurace.

Syntaxe

{
    "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 Požaduje se
tok dat Odkaz na spuštěný Tok dat DataFlowReference Ano
integrationRuntime Výpočetní prostředí, na kterém tok dat běží. Pokud není zadáno jinak, použije se rozhraní pro automatické vyřešení Azure Integration Runtime. IntegrationRuntimeReference Ne
compute.coreCount Počet jader použitých v clusteru Spark. Je možné zadat pouze v případě, že se používá modul autoresolve služby Azure Integration Runtime. 8, 16, 32, 48, 80, 144, 272 Ne
compute.computeType Typ výpočetních prostředků používaných v clusteru Spark. Je možné zadat pouze v případě, že se používá modul autoresolve služby Azure Integration Runtime. "Obecné" Ne
staging.linkedService Pokud používáte zdroj nebo jímku Azure Synapse Analytics, zadejte účet úložiště použitý pro přípravu PolyBase.

Pokud je váš Azure Storage nakonfigurován s koncovým bodem služby virtuální sítě, musíte pro účet úložiště použít ověřování spravované identity s povolenou důvěryhodnou službou Microsoft, podívejte se na Dopady použití koncových bodů služby virtuální sítě s úložištěm Azure. Přečtěte si také potřebné konfigurace pro Azure Blob a Azure Data Lake Storage Gen2.
LinkedServiceReference Pouze pokud 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 použitá pro přípravu PolyBase String Pouze pokud tok dat čte nebo zapisuje do Azure Synapse Analytics
traceLevel Nastavení úrovně protokolování provádění aktivit toku dat Jemné, Hrubé, Žádné Ne

Spuštění toku dat

Dynamické přizpůsobení velikosti výpočetních prostředků pro tok dat během běhu programu

Vlastnosti základního počtu a typu výpočetního výkonu je možné dynamicky nastavit tak, aby se přizpůsobily velikosti příchozích zdrojových dat za běhu. K určení velikosti zdrojových dat datové sady použijte aktivity pipeline, jako "Vyhledávání" nebo "Získání metadat". Ve vlastnostech aktivity Tok dat pak použijte možnost Přidat dynamický obsah. Můžete zvolit malé, střední nebo velké výpočetní velikosti. Volitelně vyberte Vlastní a nakonfigurujte typy výpočetních prostředků a počet jader ručně.

Dynamický tok dat

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

Tok dat Integration Runtime

Vyberte, které Integration Runtime použít pro provádění aktivity Tok dat. Ve výchozím nastavení služba používá modul autoesolve Azure Integration Runtime se čtyřmi pracovními jádry. Toto prostředí IR má typ výpočetního prostředí 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í aktivity toku dat.

Minimální výpočetní typ pro obecné účely s konfigurací 8+8 (16 celkového počtu virtuálních jader) a 10minutovým typem TTL (Time to Live) 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ý cluster, který se vyhne několikaminutovému zpoždění při zprovoznění studeného clusteru. Další informace najdete v tématu Azure Integration Runtime.

Azure Integration Runtime

Důležité

Výběr Integration Runtime v aktivitě Tok dat platí jenom pro spuštěné provádění vašeho datového kanálu. Ladění vašeho potrubí s toky dat se spouští na clusteru určeném v relaci ladění.

PolyBase

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

Klíč kontrolního bodu

Při použití možnosti zachytávání změn pro zdroje toků dat služba ADF udržuje a spravuje kontrolní bod automaticky. Výchozí klíč kontrolního bodu je hodnota hash názvu toku dat a názvu kanálu. Pokud používáte dynamický vzor pro zdrojové tabulky nebo složky, možná budete chtít tuto hodnotu hash přepsat a nastavit tady vlastní hodnotu klíče kontrolního bodu.

Úroveň protokolování

Pokud nepotřebujete, aby všechny podrobné záznamy telemetrie byly zaznamenány při každém spuštění aktivity toku dat, můžete volitelně nastavit úroveň protokolování na "Základní" nebo "Žádná". Při provádění toků dat v režimu Verbose (výchozí) požadujete, aby služba během transformace dat plně protokolovala aktivitu na úrovni jednotlivého oddílu. Může to být nákladná operace, takže povolení podrobného režimu pouze při řešení potíží může zlepšit celkový tok dat a výkon potrubí. Režim "Základní" protokoluje pouze doby trvání transformace, zatímco hodnota None poskytuje pouze souhrn dob 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. Pokud chcete pomoct se správou skupin, můžete požádat službu, aby spouštěla jímky paralelně ve stejné skupině. Skupinu jímky můžete také nastavit tak, aby pokračovala i po výskytu chyby v jedné z jímek.

Výchozím chováním jímek toku dat je postupné spouštění jednotlivých jímek sériovým způsobem a selhání toku dat v případě, že dojde k chybě v jímce. Kromě toho jsou všechny jímky ve výchozím nastavení stejné skupiny, pokud nezajdete do vlastností 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 vloží přímo do kanálu, je omezený na 2 MB. Nastavení "pouze prvního řádku" vám pomůže omezit datový výstup z toku dat, když vkládáte výstup aktivit toku dat přímo do vašeho potrubí.

Parametrizace toků dat

Parametrizované datové sady

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

Provést parametry toku 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ýrazu toku dat. Další informace najdete v tématu Tok dat Parametry.

Parametrizované výpočetní vlastnosti

Pokud použijete modul autoesolve Azure Integration Runtime, můžete parametrizovat počet jader nebo typ výpočetních prostředků a zadat hodnoty pro compute.coreCount a compute.computeType.

Spustit příklad parametru datového toku

Ladění kanálu aktivity Tok dat

Pokud chcete spustit kanál ladění s aktivitou Tok dat, musíte zapnout režim ladění toku dat prostřednictvím posuvníku Tok dat Debug na horním panelu. Režim ladění umožňuje spustit datový tok na aktivním clusteru Spark. Další informace naleznete v tématu Režim ladění.

Snímek obrazovky, který ukazuje, kde je tlačítko Ladit

Kanál pro ladění běží na aktivním ladicím clusteru, nikoli v prostředí Integration Runtime zadaném v nastavení aktivity Tok dat. Při spouštění režimu ladění můžete zvolit výpočetní prostředí ladění.

Monitorování aktivity Tok dat

Aktivita Tok dat má speciální prostředí pro monitorování, kde můžete zobrazit informace o dělení, fázi a rodokmenu dat. Otevřete podokno monitorování pomocí ikony brýlí v části Akce. Další informace naleznete v tématu Monitorování Tok dat.

Použití Tok dat aktivity vede k následné aktivitě.

Aktivita toku dat vypíše metriky týkající se počtu řádků zapsaných do každé jímky a řádků přeč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ém kódu 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ů přečtených ze zdroje s názvem "source1", který byl použit v této jímce, použijte @activity('dataflowActivity').output.runStatus.metrics.sink1.sources.source1.rowsRead.

Poznámka:

Pokud má jímka zapisované nulové řádky, nezobrazí se v metrikách. Existenci lze ověřit pomocí contains funkce. Například contains(activity('dataflowActivity').output.runStatus.metrics, 'sink1') kontroluje, jestli byly zapsány nějaké řádky do sink1.

Projděte si podporované aktivity toku řízení: