Data Factory-tevékenységek és -folyamatok létrehozása
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"
}
}