Vytváření aktivit a kanálů datové továrny
Aktivity ve službě Azure Data Factory definují akce, které se budou s daty provádět, a existují tři kategorie, mezi které patří:
- Aktivity přesunu dat
- Aktivity transformace dat
- Aktivity řízení
Aktivity přesunu dat
Aktivity přesunu dat jednoduše přesunují data z jednoho úložiště dat do jiného. Aktivitu kopírování můžete použít k provádění aktivit přesunu dat nebo pomocí formátu JSON. Existuje široká škála úložišť dat, která jsou podporována jako zdroj a jako jímka. Tento seznam se neustále zvyšuje a nejnovější informace najdete tady.
Aktivity transformace dat
Aktivity transformace dat je možné provádět nativně v rámci nástroje pro vytváření služby Azure Data Factory pomocí Tok dat mapování. Případně můžete volat výpočetní prostředek, který změní nebo zlepší data prostřednictvím transformace, nebo provede analýzu dat. Patří mezi ně výpočetní technologie, jako jsou Azure Databricks, Azure Batch, SQL Database a Azure Synapse Analytics, machine Učení Services, virtuální počítače Azure a HDInsight. Ke spuštění v Azure můžete využít všechny existující balíčky služby SSIS (SQL Server Integration Services) uložené v katalogu.
Vzhledem k tomu, že se tento seznam neustále vyvíjí, můžete zde získat nejnovější informace.
Aktivity řízení
Při grafickém vytváření řešení ADF můžete pomocí toku řízení v rámci návrhu orchestrovat aktivity kanálu, které zahrnují řetězení aktivit v posloupnosti, větvení, definování parametrů na úrovni kanálu a předávání argumentů při vyvolání kanálu na vyžádání nebo z triggeru. Mezi aktuální možnosti patří:
Aktivita řízení | Popis |
---|---|
Aktivita spuštění kanálu | Aktivita spuštění kanálu umožňuje kanálu služby Data Factory volat jiný kanál. |
ForEachActivity | Aktivita ForEach definuje ve vašem kanálu opakovaný tok řízení. Tato aktivita se používá k opakování v kolekci a spouští zadané aktivity ve smyčce. Implementace smyčky této aktivity se podobá struktuře smyčky Foreach v programovacích jazycích. |
WebActivity | Webová aktivita slouží k volání vlastního koncového bodu REST z kanálu služby Data Factory. Můžete předávat datové sady a propojené služby, které má aktivita používat a ke kterým má mít přístup. |
Aktivita vyhledávání | Aktivita vyhledávání slouží ke čtení nebo vyhledání záznamu / názvu tabulky / hodnoty z jakéhokoli externího zdroje. Na tento výstup mohou dále odkazovat následující aktivity. |
Aktivita GetMetadata | Aktivita GetMetadata slouží k načtení metadat jakýchkoli dat ve službě Azure Data Factory. |
Aktivita Until | Implementuje smyčku Do-Until, která se podobá struktuře smyčky Do-Until v programovacích jazycích. Provádí ve smyčce sadu aktivit, dokud se podmínka přidružená k aktivitě nevyhodnotí jako pravdivá. Ve službě Data Factory můžete pro aktivitu Until určit hodnotu časového limitu. |
Aktivita podmínky If | Podmínka If se dá použít k vytvoření větve na základě podmínky, která provádí vyhodnocení na hodnotu True nebo False. Aktivita podmínky If funguje stejně jako příkaz if v programovacích jazycích. Vyhodnotí sadu aktivit, když se podmínka vyhodnotí jako true a další sada aktivit, když se podmínka vyhodnotí jako nepravda. |
Aktivita Wait | Pokud v kanálu použijete aktivitu Wait, kanál před pokračováním v provádění dalších aktivit počká zadanou dobu. |
Tady najdete nejnovější informace.
Aktivity a kanály
Definování aktivit
Při použití zápisu JSON může oddíl aktivit obsahovat jednu nebo více aktivit, které jsou v něm definované. Existují dva hlavní typy aktivit: aktivity spuštění a aktivity řízení. Aktivity provádění (označované také jako Výpočty) zahrnují aktivity přesunu dat a transformace dat. Mají následující strukturu nejvyšší úrovně:
{
"name": "Execution Activity Name",
"description": "description",
"type": "<ActivityType>",
"typeProperties":
{
},
"linkedServiceName": "MyLinkedService",
"policy":
{
},
"dependsOn":
{
}
}
Následující tabulka popisuje vlastnosti ve výše uvedeném formátu JSON:
Vlastnost | Popis | Povinní účastníci |
---|---|---|
name | Název aktivity. | Ano |
description | Text popisující, k čemu se aktivita používá nebo k čemu se používá | No |
type | Definuje typ aktivity. | Ano |
linkedServiceName | Název propojené služby používané aktivitou. | Ano pro HDInsight, aktivitu strojového Učení dávkové vyhodnocování a aktivitu uložené procedury |
typeProperties | Vlastnosti v části typeProperties závisí na příslušném typu aktivity. | No |
policy | Zásady, které ovlivňují chování aktivity za běhu. Tato vlastnost zahrnuje chování při vypršení časového limitu a opakovaných pokusech. | No |
dependsOn | Tato vlastnost slouží k určení závislostí aktivity a toho, jak následující aktivity závisejí na předchozích aktivitách. | No |
Definování kontrolních aktivit
Řídicí aktivita ve službě Data Factory je definována ve formátu JSON následujícím způsobem:
{
"name": "Control Activity Name",
"description": "description",
"type": "<ActivityType>",
"typeProperties":
{
},
"dependsOn":
{
}
}
Následující tabulka popisuje vlastnosti ve výše uvedeném formátu JSON:
Vlastnost | Popis | Povinní účastníci |
---|---|---|
name | Název aktivity. | Ano |
description | Text popisující, k čemu se aktivita používá nebo k čemu se používá | Ano |
type | Definuje typ aktivity. | Ano |
typeProperties | Vlastnosti v části typeProperties závisí na příslušném typu aktivity. | No |
dependsOn | Tato vlastnost slouží k určení závislostí aktivity a toho, jak následující aktivity závisejí na předchozích aktivitách. | No |
Definování kanálů
Tady je způsob definice kanálu ve formátu JSON:
{
"name": "PipelineName",
"properties":
{
"description": "pipeline description",
"activities":
[
],
"parameters": {
}
}
}
Následující tabulka popisuje vlastnosti ve výše uvedeném formátu JSON:
Vlastnost | Popis | Povinní účastníci |
---|---|---|
name | Název kanálu. | Ano |
description | Text popisující, k čemu se kanál používá. | No |
activities | Část activities může obsahovat definici jedné nebo více aktivit. | Ano |
parameters | Část parameters může obsahovat definici jednoho nebo více parametrů v kanálu, aby byl kanál flexibilní pro opakované použití. | No |
Příklad
Následující JSON definuje kanál s názvem MyFirstPipeline, který obsahuje jeden typ aktivity HDInsightHive, který bude volat dotaz z názvu skriptu partitionweblogs.hql, který je uložený v propojené službě s názvem StorageLinkedService, se vstupem s názvem AzureBlobInput a výstupem s názvem AzureBlobOutput. Provede to na výpočetním prostředku definovaném v propojené službě s názvem HDInsightOnDemandLinkedService.
Kanál se plánuje spouštět měsíčně a pokusí se 3krát spustit, pokud selže.
{
"name": "MyFirstPipeline",
"properties": {
"description": "My first Azure Data Factory pipeline",
"activities": [
{
"type": "HDInsightHive",
"typeProperties": {
"scriptPath": "adfgetstarted/script/partitionweblogs.hql",
"scriptLinkedService": "StorageLinkedService",
"defines": {
"inputtable": "wasb://adfgetstarted@ctostorageaccount.blob.core.windows.net/inputdata",
"partitionedtable": "wasb://adfgetstarted@ctostorageaccount.blob.core.windows.net/partitioneddata"
}
},
"inputs": [
{
"name": "AzureBlobInput"
}
],
"outputs": [
{
"name": "AzureBlobOutput"
}
],
"policy": {
"concurrency": 1,
"retry": 3
},
"scheduler": {
"frequency": "Month",
"interval": 1
},
"name": "RunSampleHiveActivity",
"linkedServiceName": "HDInsightOnDemandLinkedService"
}
],
"start": "2017-04-01T00:00:00Z",
"end": "2017-04-02T00:00:00Z",
"isPaused": false,
"hubName": "ctogetstarteddf_hub",
"pipelineMode": "Scheduled"
}
}