Vytváření aktivit a kanálů datové továrny

Dokončeno

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