Adatfolyam tevékenység az Azure Data Factoryben és az Azure Synapse Analyticsben

A következőkre vonatkozik: Azure Data Factory Azure Synapse Analytics

Tipp.

Próbálja ki a Data Factoryt a Microsoft Fabricben, amely egy teljes körű elemzési megoldás a nagyvállalatok számára. A Microsoft Fabric az adattovábbítástól az adatelemzésig, a valós idejű elemzésig, az üzleti intelligenciáig és a jelentéskészítésig mindent lefed. Ismerje meg, hogyan indíthat új próbaverziót ingyenesen!

A Adatfolyam tevékenység használatával átalakíthatja és áthelyezheti az adatokat leképezési adatfolyamokkal. Ha még nem ismerkedik az adatfolyamok használatával, tekintse meg a leképezési Adatfolyam áttekintését

Adatfolyam-tevékenység létrehozása felhasználói felülettel

Ha Adatfolyam tevékenységet szeretne használni egy folyamatban, hajtsa végre a következő lépéseket:

  1. Keressen Adatfolyam a folyamattevékenységek panelen, és húzzon egy Adatfolyam tevékenységet a folyamatvászonra.

  2. Jelölje ki az új Adatfolyam tevékenységet a vásznon, ha még nincs kijelölve, és a Gépház lapot a részletek szerkesztéséhez.

    Egy Adatfolyam tevékenység felhasználói felületét jeleníti meg.

  3. A checkpoint billentyű az ellenőrzőpont beállítására szolgál, amikor az adatfolyamot a módosított adatrögzítéshez használják. Felülírhatja. Az adatfolyam-tevékenységek ellenőrzőpontkulcsként guid értéket használnak a "folyamat neve + tevékenység neve" helyett, hogy mindig nyomon követhesse az ügyfél változásadat-rögzítési állapotát, még az átnevezési műveletek is. Minden meglévő adatfolyam-tevékenység a régi mintakulcsot használja a visszamenőleges kompatibilitás érdekében. Az új adatfolyam-tevékenység módosítási adatrögzítéssel engedélyezett adatfolyam-erőforrással való közzététele után az ellenőrzőpontkulcs-beállítás az alábbi módon jelenik meg.

    Egy Adatfolyam tevékenység felhasználói felületét jeleníti meg ellenőrzőpont-kulccsal.

  4. Válasszon ki egy meglévő adatfolyamot, vagy hozzon létre egy újat az Új gombbal. A konfiguráció befejezéséhez szükség szerint válasszon más beállításokat.

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

Típustulajdonságok

Tulajdonság Leírás Megengedett értékek Kötelező
adatfolyam A végrehajtás alatt álló Adatfolyam DataFlowReference Igen
integrationRuntime Az adatfolyam által futtatott számítási környezet. Ha nincs megadva, a rendszer az automatikus Azure-integrációs modult használja. IntegrationRuntimeReference Nem
compute.coreCount A Spark-fürtben használt magok száma. Csak akkor adható meg, ha az automatikus azure-integrációs modult használja 8, 16, 32, 48, 80, 144, 272 Nem
compute.computeType A Spark-fürtben használt számítás típusa. Csak akkor adható meg, ha az automatikus azure-integrációs modult használja "Általános" Nem
staging.linkedService Ha Azure Synapse Analytics-forrást vagy fogadót használ, adja meg a PolyBase-előkészítéshez használt tárfiókot.

Ha az Azure Storage virtuális hálózati szolgáltatásvégponttal van konfigurálva, a felügyelt identitáshitelesítést a tárfiókon engedélyezett "megbízható Microsoft-szolgáltatás engedélyezése" beállítással kell használnia, tekintse meg a VNet-szolgáltatásvégpontok Azure Storage-beli használatának hatását. Megismerheti az Azure Blob és az Azure Data Lake Storage Gen2 szükséges konfigurációit is.
LinkedServiceReference Csak akkor, ha az adatfolyam egy Azure Synapse Analyticsbe olvas vagy ír
staging.folderPath Ha Azure Synapse Analytics-forrást vagy fogadót használ, a PolyBase-előkészítéshez használt Blob Storage-fiók mappaútvonala Sztring Csak akkor, ha az adatfolyam olvas vagy ír az Azure Synapse Analyticsbe
traceLevel Az adatfolyam-tevékenység végrehajtásának naplózási szintjének beállítása Finom, Durva, Nincs Nem

Adatfolyam végrehajtása

Adatfolyam-számítás dinamikus mérete futásidőben

Az alapszám és a számítási típus tulajdonságai dinamikusan állíthatók be, hogy futásidőben a bejövő forrásadatok méretéhez igazodjanak. A forrásadatkészlet-adatok méretének megkereséséhez használjon folyamattevékenységeket, például keresést vagy metaadatok lekérését. Ezután használja a Dinamikus tartalom hozzáadása lehetőséget a Adatfolyam tevékenységtulajdonságokban. Választhat kis, közepes vagy nagy számítási méreteket. Opcionálisan válassza az "Egyéni" lehetőséget, és konfigurálja manuálisan a számítási típusokat és a magok számát.

Dinamikus Adatfolyam

Íme egy rövid oktatóvideó, amely ismerteti ezt a technikát

Adatfolyam integrációs modul

Válassza ki a Adatfolyam tevékenység végrehajtásához használni kívánt integrációs modult. Alapértelmezés szerint a szolgáltatás az Azure Integration automatikus feloldó futtatási idejét használja négy munkamaggal. Ez az integrációs modul általános célú számítási típussal rendelkezik, és ugyanabban a régióban fut, mint a szolgáltatáspéldány. Az operatív folyamatok esetében kifejezetten ajánlott saját Azure-integrációs futtatókörnyezeteket létrehozni, amelyek meghatározott régiókat, számítási típust, magszámokat és TTL-t határoznak meg az adatfolyam-tevékenységek végrehajtásához.

Az általános célú minimális számítási típus 8+8 (összesen 16 virtuális mag) konfigurációval és 10 perces élettartammal (TTL) a legtöbb éles számítási feladatra vonatkozó minimális javaslat. Egy kis TTL beállításával az Azure IR képes fenntartani egy meleg fürtöt, amely nem jár több percnyi kezdőidővel egy hideg fürt esetében. További információkért tekintse meg az Azure integrációs modult.

Azure Integration Runtime

Fontos

Az integrációs modul kiválasztása a Adatfolyam tevékenységben csak a folyamat aktivált végrehajtására vonatkozik. A folyamat hibakeresése adatfolyamokkal a hibakeresési munkamenetben megadott fürtön fut.

PolyBase

Ha egy Azure Synapse Analytics-et használ fogadóként vagy forrásként, ki kell választania egy átmeneti helyet a PolyBase-kötegbetöltéshez. A PolyBase lehetővé teszi a kötegelt betöltést tömegesen az adatsorok betöltése helyett. A PolyBase drasztikusan csökkenti a betöltési időt az Azure Synapse Analyticsben.

Ellenőrzőpont-kulcs

Az adatfolyam-források változásrögzítési beállításának használatakor az ADF automatikusan fenntartja és kezeli az ellenőrzőpontot. Az alapértelmezett ellenőrzőpontkulcs az adatfolyam nevének és a folyamat nevének kivonata. Ha dinamikus mintát használ a forrástáblákhoz vagy mappákhoz, érdemes lehet felülbírálni ezt a kivonatot, és itt beállíthatja a saját ellenőrzőpontkulcs-értékét.

Naplózási szint

Ha nem követeli meg az adatfolyam-tevékenységek minden folyamatvégrehajtását az összes részletes telemetriai napló teljes naplózásához, a naplózási szintet igény szerint "Alapszintű" vagy "Nincs" értékre állíthatja. Amikor az adatfolyamokat "Részletes" módban (alapértelmezett) hajtja végre, az adatátalakítás során minden egyes partíciószinten teljes körű naplózási tevékenységet kér a szolgáltatástól. Ez költséges művelet lehet, ezért csak a részletes hibaelhárítás engedélyezése javíthatja a teljes adatfolyamot és a folyamat teljesítményét. Az "Alapszintű" mód csak az átalakítási időtartamokat naplózza, míg a "Nincs" csak az időtartamok összegzését adja meg.

Naplózási szint

Fogadó tulajdonságai

Az adatfolyamok csoportosítási funkciója lehetővé teszi a fogadók végrehajtási sorrendjének beállítását, valamint a fogadók csoportosítását ugyanazzal a csoportszámmal. A csoportok kezeléséhez megkérheti a szolgáltatást, hogy ugyanabban a csoportban, párhuzamosan futtassa a fogadókat. Azt is beállíthatja, hogy a fogadócsoport akkor is folytatódjon, ha az egyik fogadó hibába ütközik.

Az adatfolyam-fogadók alapértelmezett viselkedése az, hogy egymás után, soros módon hajtják végre az egyes fogadókat, és ha hiba történik a fogadóban, az adatfolyam meghiúsul. Emellett az összes fogadó alapértelmezés szerint ugyanarra a csoportra van beállítva, hacsak nem lép be az adatfolyam tulajdonságaiba, és nem állít be különböző prioritásokat a fogadók számára.

Fogadó tulajdonságai

Csak az első sor

Ez a beállítás csak olyan adatfolyamok esetében érhető el, amelyek gyorsítótár-fogadói engedélyezve vannak a "Kimenet tevékenységhez" beállításhoz. A folyamatba közvetlenül injektált adatfolyam kimenete legfeljebb 2 MB lehet. A "csak az első sor" beállítással korlátozhatja az adatfolyamból származó adatkimenetet, amikor közvetlenül a folyamatba injektálja az adatfolyam-tevékenység kimenetét.

Adatfolyam paraméterezése

Paraméteres adatkészletek

Ha az adatfolyam paraméteres adatkészleteket használ, állítsa be a paraméterértékeket a Gépház lapon.

Adatfolyam paraméterek végrehajtása

Paraméteres adatfolyamok

Ha az adatfolyam paraméterezve van, állítsa be az adatfolyam paramétereinek dinamikus értékeit a Paraméterek lapon. Dinamikus vagy literális paraméterértékek hozzárendeléséhez használhatja a folyamatkifejezés nyelvét vagy az adatfolyam-kifejezés nyelvét. További információ: Adatfolyam Paraméterek.

Paraméteres számítási tulajdonságok.

Az alapszámot vagy a számítási típust paraméterezheti, ha az automatikus azure-integrációs modult használja, és megadja a compute.coreCount és a compute.computeType értékeit.

Példa Adatfolyam paraméter végrehajtása

Adatfolyam tevékenység folyamatkeresése

Ha egy hibakeresési folyamatot Adatfolyam tevékenységgel szeretne futtatni, kapcsolja be az adatfolyam hibakeresési módját a felső sávon található Adatfolyam Hibakeresés csúszkával. A hibakeresési mód lehetővé teszi az adatfolyam aktív Spark-fürtön való futtatását. További információ: Hibakeresési mód.

Képernyőkép arról, hogy hol található a Hibakeresés gomb

A hibakeresési folyamat az aktív hibakeresési fürttel fut, nem a Adatfolyam tevékenységbeállításokban megadott integrációs futtatókörnyezettel. A hibakeresési mód indításakor kiválaszthatja a hibakeresési számítási környezetet.

A Adatfolyam tevékenység figyelése

A Adatfolyam tevékenység speciális figyelési felülettel rendelkezik, ahol megtekintheti a particionálást, a fázisidőt és az adatsoradatokat. Nyissa meg a monitorozási panelt a Szemüveg ikonnal a Műveletek területen. További információ: Monitorozási Adatfolyam.

A Adatfolyam tevékenység eredménye egy későbbi tevékenység

Az adatfolyam-tevékenység metrikákat ad ki az egyes fogadókba írt sorok és az egyes forrásból beolvasott sorok számával kapcsolatban. Ezek az eredmények a output tevékenységfuttatás eredményének szakaszában jelennek meg. A visszaadott metrikák formátuma az alábbi 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>": {
                ...
            },
            ...
        }
    }
}

Ha például egy "sink1" nevű fogadóba írt sorok számát szeretné elérni egy "dataflowActivity" nevű tevékenységben, használja a következőt @activity('dataflowActivity').output.runStatus.metrics.sink1.rowsWritten: .

A fogadóban használt "source1" nevű forrásból beolvasott sorok számának lekéréséhez használja a következőt @activity('dataflowActivity').output.runStatus.metrics.sink1.sources.source1.rowsRead: .

Feljegyzés

Ha egy fogadóban nulla sor van megírva, az nem jelenik meg a metrikákban. A létezés a contains függvény használatával ellenőrizhető. Például ellenőrzi, contains(activity('dataflowActivity').output.runStatus.metrics, 'sink1') hogy a sorok a fogadó1-be lettek-e írva.

Lásd a támogatott vezérlési folyamatok tevékenységeit: