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 |
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.
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.
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í.
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.
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ů.
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ů.
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í.
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í: