Data Factory-tevékenységek és -folyamatok létrehozása

Befejeződött

Az Azure Data Factory tevékenységei határozzák meg az adatokon végrehajtandó műveleteket, és három kategóriába sorolhatók:

  • Data movement activities
  • Data transformation activities
  • Vezérlési tevékenységek

Data movement activities

Az adatáthelyezési tevékenységek egyszerűen áthelyezik az adatokat az egyik adattárból a másikba. A másolási tevékenységgel adatáthelyezési tevékenységeket hajthat végre, vagy JSON használatával. Számos olyan adattár található, amelyek forrásként és fogadóként is támogatottak. Ez a lista egyre nő, és itt találja a legfrissebb információkat.

Data transformation activities

Az adatátalakítási tevékenységek natív módon végezhetők el az Azure Data Factory szerkesztőeszközén a Leképezési Adatfolyam használatával. Másik lehetőségként meghívhat egy számítási erőforrást, amely átalakítással módosítja vagy javítja az adatokat, vagy elemzést végez az adatokon. Ilyenek például az Azure Databricks, az Azure Batch, az SQL Database és az Azure Synapse Analytics, a Machine Tanulás Services, az Azure Virtual Machines és a HDInsight. A katalógusban tárolt meglévő SQL Server Integration Services-csomagokat (SSIS) használhatja az Azure-ban való végrehajtáshoz

Mivel ez a lista folyamatosan fejlődik, a legfrissebb információkat itt találja.

Vezérlési tevékenységek

Az ADF-megoldások grafikus szerkesztésekor a tervezési folyamat vezérlőfolyamatával vezényelheti a folyamattevékenységeket, amelyek láncolási tevékenységeket tartalmaznak egy sorozatban, elágaztatást, paramétereket határoznak meg a folyamat szintjén, és argumentumokat adnak át a folyamat igény szerinti vagy eseményindítóból történő meghívása közben. A jelenlegi képességek a következők:

Vezérlési tevékenység Leírás
Folyamat végrehajtása tevékenység A folyamat végrehajtása tevékenység lehetővé teszi egy Data Factory-folyamat számára egy másik folyamat meghívását.
ForEach tevékenység A ForEach tevékenység ismétlődő átvitelvezérlést határoz meg a folyamatban. Ez a tevékenység egy gyűjtemény megismétlésére, valamint egy megadott ciklustevékenység végrehajtására szolgál. E tevékenység ciklusos megvalósítása hasonló a Foreach ciklusos szerkezetéhez a programozási nyelvek esetében.
Webes tevékenység A webes tevékenység segítségével meghívható egy egyéni REST-végpont egy Data Factory-folyamatból. Az adatkészleteket és a társított szolgáltatásokat továbbíthatja a tevékenység számára felhasználásra vagy elérés céljára.
Keresési tevékenység A Keresési tevékenység segítségével bármely külső forrásból kiolvashat vagy megkereshet egy rekordot, táblanevet vagy értéket. Erre a kimenetre a későbbi tevékenységek is hivatkozhatnak.
Metaadatok beolvasása tevékenység A metaadatok beolvasása tevékenység segítségével az Azure Data Factory bármely metaadatát lekérheti.
Until tevékenység A Do-Until ciklus megvalósítása hasonló a programozási nyelvek Do-Until ciklusos szerkezetéhez. Egy tevékenységkészletet futtat le ciklusosan addig, amíg a tevékenységhez rendelt feltétel igaz értéket nem ad vissza. Megadhat egy időtúllépési értéket az Until tevékenységhez a Data Factoryban.
If Condition tevékenység Az If Condition tevékenység igaz vagy hamis értéket visszaadó feltételek alapján történő elágaztatásra használható. Az If Condition tevékenység ugyanazokat a funkciókat biztosítja, mint a programnyelvek if utasítása. Kiértékeli a tevékenységek egy halmazát, amikor a feltétel igaz, és egy másik tevékenységkészletet, amikor a feltétel értéke hamis.
Wait tevékenység Ha Wait tevékenységet használ egy folyamatban, akkor a folyamat kivárja a megadott időtartamot, és csak az után folytatja a további tevékenységek futtatását.

A legfrissebb információkat itt találja.

Tevékenységek és folyamatok

Tevékenységek definiálása

JSON-jelölés használata esetén a tevékenységek szakasz egy vagy több tevékenységet definiálhat benne. A következő két fő tevékenységtípust különböztetjük meg: végrehajtási és vezérlési tevékenységek. A végrehajtási (más néven számítási) tevékenységek közé tartoznak az adatáthelyezési és adatátalakítási tevékenységek. Ezek a következő felső szintű struktúrával rendelkeznek:

{
    "name": "Execution Activity Name",
    "description": "description",
    "type": "<ActivityType>",
    "typeProperties":
    {
    },
    "linkedServiceName": "MyLinkedService",
    "policy":
    {
    },
    "dependsOn":
    {
    }
}

Az alábbi táblázat a fenti JSON tulajdonságait ismerteti:

Property Leírás Required
név A tevékenység neve. Igen
leírás A tevékenység vagy a használt tevékenység leírását leíró szöveg. Nem
típus Meghatározza a tevékenység típusát. Igen
linkedServiceName A tevékenység által használt társított szolgáltatás neve. Igen a HDInsight, a machine Tanulás batch pontozási tevékenység és a tárolt eljárástevékenység esetében
typeProperties A typeProperties szakasz tulajdonságai az egyes tevékenységtípusoktól függenek. Nem
szabályzat Olyan szabályzatok, amelyek az adott tevékenység futásidejű viselkedését befolyásolják. Ez a tulajdonság magában foglalja az időtúllépési és az újrapróbálkozási viselkedést is. Nem
dependsOn Ez a tulajdonság a tevékenységfüggőségek, valamint az egymást követő tevékenységek függőségeinek meghatározására szolgál. Nem

Vezérlőtevékenységek meghatározása

A Data Factory vezérlőtevékenysége JSON formátumban van definiálva az alábbiak szerint:

{
    "name": "Control Activity Name",
    "description": "description",
    "type": "<ActivityType>",
    "typeProperties":
    {
    },
    "dependsOn":
    {
    }
}

Az alábbi táblázat a fenti JSON tulajdonságait ismerteti:

Property Leírás Required
név A tevékenység neve. Igen
leírás A tevékenység vagy a használt tevékenység leírását leíró szöveg. Igen
típus Meghatározza a tevékenység típusát. Igen
typeProperties A typeProperties szakasz tulajdonságai az egyes tevékenységtípusoktól függenek. Nem
dependsOn Ez a tulajdonság a tevékenységfüggőségek, valamint az egymást követő tevékenységek függőségeinek meghatározására szolgál. Nem

Folyamatok definiálása

Egy folyamat JSON-formátumban való meghatározása a következő módon történik:

{
    "name": "PipelineName",
    "properties":
    {
        "description": "pipeline description",
        "activities":
        [
        ],
        "parameters": {
         }
    }
}

Az alábbi táblázat a fenti JSON tulajdonságait ismerteti:

Property Leírás Required
név A folyamat neve. Igen
leírás A folyamat használatát leíró szöveg. Nem
tevékenységek A tevékenységek szakaszon belül egy vagy több tevékenység is meghatározható. Igen
parameters Az adott folyamat paraméterek szakaszában egy vagy több paraméter adható meg, így a folyamat rugalmasan újrafelhasználható. Nem

Példa

A következő JSON a "MyFirstPipeline" nevű folyamatot határozza meg, amely a HDInsightHive egyetlen tevékenységtípusát tartalmazza, amely meghív egy lekérdezést a "StorageLinkedService" nevű társított szolgáltatásban tárolt "partitionweblogs.hql" szkriptnévből, egy "AzureBlobInput" nevű bemenettel és egy "AzureBlobOutput" nevű kimenettel. Ezt a "HDInsightOnDemandLinkedService" nevű társított szolgáltatásban definiált számítási erőforráson hajtja végre.

A folyamat havi rendszerességgel lesz végrehajtva, és a sikertelenség esetén háromszor megkísérli a végrehajtást.

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