Megosztás:


Adatok átalakítása Synapse-jegyzetfüzet futtatásával

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!

Az Azure Synapse munkafüzet-tevékenysége egy Synapse csővezetékben egy Synapse-jegyzetfüzetet futtat. Ez a cikk az adatátalakítási tevékenységekről szóló cikkre épül, amely általános áttekintést nyújt az adatátalakításról és a támogatott átalakítási tevékenységekről.

Synapse-jegyzetfüzet-tevékenység létrehozása

Synapse-jegyzetfüzettevékenységet közvetlenül a Synapse folyamatvászonról vagy a jegyzetfüzet-szerkesztőből hozhat létre. A Synapse-jegyzetfüzettevékenység a Synapse-jegyzetfüzetben kiválasztott Spark-készleten fut.

Synapse-jegyzetfüzet-tevékenység hozzáadása folyamatvászonról

Húzza a Synapse-jegyzetfüzetet a Tevékenységek alól a Synapse-folyamat vásznára. Válassza ki a Synapse-jegyzetfüzet tevékenységmezőjében, és konfigurálja a jegyzetfüzet tartalmát az aktuális tevékenységhez a beállítások között. Kiválaszthat egy meglévő jegyzetfüzetet az aktuális munkaterületről, vagy hozzáadhat egy újat.

Ha kiválaszt egy meglévő jegyzetfüzetet az aktuális munkaterületről, a Megnyitás gombra kattintva közvetlenül megnyithatja a jegyzetfüzet lapját.

(Nem kötelező) Újrakonfigurálhatja a Spark-tárhelyet, végrehajtó méretét, dinamikusan kioszthatja a végrehajtókat, minimális végrehajtókat, maximális végrehajtókat, vezérlő méretét, hitelesítést a beállításokban. Megjegyzendő, hogy az itt újrakonfigurált beállítások felülírják a jegyzetfüzet konfigurálási munkamenetének beállításait. Ha nincs beállítva semmi az aktuális jegyzetfüzet-tevékenység beállításaiban, akkor az a jegyzetfüzet konfigurálási munkamenetének beállításaival fog futni.

képernyőkép a jegyzetfüzet-létrehozási tevékenységet bemutatva

Tulajdonság Leírás Kötelező
Spark-készlet Hivatkozás a Spark-készletre. A listából kiválaszthatja az Apache Spark-készletet. Ha ez a beállítás üres, akkor a jegyzetfüzet Spark-készletében fog futni. Nem
Végrehajtó mérete A munkamenethez megadott Apache Spark-készletben lefoglalt végrehajtókhoz használandó magok és memória száma. Nem
Dinamikus végrehajtók kiosztása Ez a beállítás a Spark-alkalmazás-végrehajtók lefoglalásának Spark-konfigurációban lévő dinamikus foglalási tulajdonságához lesz megfeleltetve. Nem
Minimális számú végrehajtók A feladathoz megadott Spark-készletben lefoglalandó végrehajtók minimális száma. Nem
Végrehajtók maximális száma A feladathoz megadott Spark-készletben lefoglalandó végrehajtók maximális száma. Nem
Meghajtó méret A feladathoz megadott Apache Spark-készletben megadott illesztőprogramhoz használandó magok és memória száma. Nem
Hitelesítés Hitelesíthető rendszer által hozzárendelt felügyelt identitással vagy felhasználó által hozzárendelt felügyelt identitással. Nem

Feljegyzés

A párhuzamos Spark-jegyzetfüzetek végrehajtása az Azure Synapse-folyamatokban FIFO módon történik, a feladatok sorrendje az időütemezés szerint történik, az üzenetsorban lévő feladatok lejárati ideje 3 nap, kérjük, figyelje meg, hogy a jegyzetfüzetek várólistája csak a Synapse-folyamatban működik.

Jegyzetfüzet hozzáadása a Synapse-folyamathoz

A jobb felső sarokban található Hozzáadás a folyamathoz gombra kattintva jegyzetfüzetet vehet fel egy meglévő folyamatba, vagy új folyamatot hozhat létre.

képernyőkép, amely bemutatja, hogyan lehet notebookot hozzáadni a munkafolyamathoz

Paraméterek továbbítása

Paramétercella kijelölése

A jegyzetfüzet paraméterezéséhez válassza a három pontot (...) a további parancsok eléréséhez a cella eszköztárán. Ezután válassza a Paramétercella kapcsolása lehetőséget a cella paramétercellának kijelöléséhez.

képernyőkép-ami-az-azure-noteszgép-kapcsoló-paramétert-mutatja

Adja meg a paramétereket ebben a cellában. Ez lehet valami olyan egyszerű, mint:

a = 1
b = 3
c = "Default Value"

Más cellákban hivatkozhat ezekre a paraméterekre, és amikor futtatja a jegyzetfüzetet, a paramétercellában megadott alapértelmezett értékeket fogja használni.

Amikor ezt a jegyzetfüzetet egy folyamatból futtatja, az Azure Data Factory megkeresi a paraméterek celláját, és a végrehajtási időpontban átadott paraméterek alapértelmezettként megadott értékeit használja. Ha paraméterértékeket rendel egy folyamathoz, a végrehajtási motor hozzáad egy új cellát a paramétercella alá bemeneti paraméterekkel az alapértelmezett értékek felülírásához.

Pipeline-ból származó paraméterértékek hozzárendelése

Miután létrehozott egy paraméterekkel rendelkező jegyzetfüzetet, végrehajthatja egy folyamatrendszerből a Synapse-jegyzetfüzet tevékenységgel. Miután hozzáadta a tevékenységet a folyamatvászonhoz, beállíthatja a paraméterek értékeit a Beállítások lap Alapparaméterek szakaszában.

képernyőkép-egy-paraméter-hozzárendelésének-bemutatása

Tipp.

A Data Factory nem tölti fel automatikusan a paramétereket. Ezeket manuálisan kell hozzáadnia. Ügyeljen arra, hogy pontosan ugyanazt a nevet használja a jegyzetfüzet paramétercellájában és a folyamat alapparaméterében is.

Miután hozzáadta a paramétereket a tevékenységhez, a Data Factory átadja a tevékenységben megadott értékeket a jegyzetfüzetnek, és a jegyzetfüzet az új paraméterértékekkel fog futni a paramétercellában megadott alapértelmezett értékek helyett.

Paraméterértékek hozzárendelésekor használhatja a folyamatkifejezés nyelvét vagy rendszerváltozóit.

A Synapse jegyzetfüzetcellák kimeneti értékének olvasása

A jegyzetfüzet cella kimeneti értékét az alábbi lépések végrehajtásával olvashatja el a következő tevékenységekben:

  1. Hívja meg az mssparkutils.notebook.exit API-t a Synapse-jegyzetfüzet-tevékenységben, hogy visszaadja a tevékenység kimenetében megjeleníteni kívánt értéket, például:

    mssparkutils.notebook.exit("hello world") 
    

    A jegyzetfüzet tartalmának mentésével és a folyamat újrapróbálkozásával a jegyzetfüzet-tevékenység kimenete tartalmazza az exitValue értéket, amely a 2. lépésben az alábbi tevékenységekhez használható fel.

  2. Olvassa el az exitValue tulajdonságot a jegyzetfüzet-tevékenység kimenetéből. Íme egy mintakifejezés, amely annak ellenőrzésére szolgál, hogy a jegyzetfüzet tevékenységének kimenetéből lekért exitValue értéke "hello world"-e.

    képernyőkép-megjelenítési-olvasási-kilépési-érték

Másik Synapse-jegyzetfüzet futtatása

Hivatkozhat más jegyzetfüzetekre egy Synapse-jegyzetfüzet tevékenységén belül a %run magic vagy a mssparkutils notebook segédprogramok meghívásával. Mindkettő támogatja a beágyazott függvényhívásokat. A forgatókönyv alapján megfontolandó két módszer főbb különbségei a következők:

  • A %run varázslat átmásolja a hivatkozott jegyzetfüzet összes celláját a %run cellába, és megosztja a változók környezetét. Ha a jegyzetfüzet1 a jegyzetfüzet2-re hivatkozik %run notebook2, és a jegyzetfüzet2 meghív egy mssparkutils.notebook.exit függvényt, a jegyzetfüzet1-ben lévő cellák végrehajtása leáll. Javasoljuk, hogy használja a %run magic parancsot, ha "bele szeretne foglalni" egy jegyzetfüzetfájlt.
  • Az mssparkutils notebook segédprogram metódusként vagy függvényként hívja meg a hivatkozott jegyzetfüzetet. A változókörnyezet nincs megosztva. Amikor a notebook1 a notebook2-re hivatkozik mssparkutils.notebook.run("notebook2"), és a notebook2 meghív egy mssparkutils.notebook.exit függvényt, a notebook1 celláinak végrehajtása folytatódik. Javasoljuk, hogy használja az mssparkutils notebook segédprogramokat, amikor "importálni" szeretne egy jegyzetfüzetet.

A jegyzetfüzet tevékenységek futtatási előzményeinek megtekintése

Lépjen a Monitor fül Folyamatfuttatások menüpontjára, ahol látni fogja az aktivált folyamatot. Nyissa meg azt a folyamatot, amely jegyzetfüzet-aktivitást tartalmaz, hogy megtekintse a futtatási előzményeket.

A jegyzetfüzet legújabb futtatási pillanatképét a megnyitott jegyzetfüzet gombra kattintva tekintheti meg, beleértve a cellabemenetet és a kimenetet is.

Képernyőkép a jegyzetfüzet tevékenységi előzményeiről.

Jegyzetfüzet pillanatképének megnyitása:

Egy megnyitott jegyzetfüzet pillanatképét bemutató képernyőkép.

A jegyzetfüzet-tevékenység bemenetét vagy kimenetét a bemenet vagy a Kimenet gombra kattintva tekintheti meg. Ha a folyamat felhasználói hibával meghiúsult, válassza ki a kimenetet az eredménymező ellenőrzéséhez a részletes felhasználói hibakövetés megtekintéséhez.

Képernyőkép a felhasználói hiba részleteiről.

Synapse-jegyzetfüzet tevékenységdefiníciója

Egy Synapse-jegyzetfüzettevékenység JSON-mintadefiníciója:

{
    "name": "parameter_test",
    "type": "SynapseNotebook",
    "dependsOn": [],
    "policy": {
        "timeout": "7.00:00:00",
        "retry": 0,
        "retryIntervalInSeconds": 30,
        "secureOutput": false,
        "secureInput": false
    },
    "userProperties": [],
    "typeProperties": {
        "notebook": {
            "referenceName": "parameter_test",
            "type": "NotebookReference"
        },
        "parameters": {
            "input": {
                "value": {
                    "value": "@pipeline().parameters.input",
                    "type": "Expression"
                }
            }
        }
    }
}

A Synapse tevékenység kimenete a jegyzetfüzetben

A Synapse-jegyzetfüzet tevékenységkimenetének JSON-mintája:

{
{
    "status": {
        "Status": 1,
        "Output": {
            "status": <livySessionInfo>
            },
            "result": {
                "runId": "<GUID>",
                "runStatus": "Succeed",
                "message": "Notebook execution is in Succeeded state",
                "lastCheckedOn": "2021-03-23T00:40:10.6033333Z",
                "errors": {
                    "ename": "",
                    "evalue": ""
                },
                "sessionId": 4,
                "sparkpool": "sparkpool",
                "snapshotUrl": "https://myworkspace.dev.azuresynapse.net/notebooksnapshot/{guid}",
                "exitCode": "abc" // return value from user notebook via mssparkutils.notebook.exit("abc")
            }
        },
        "Error": null,
        "ExecutionDetails": {}
    },

    "effectiveIntegrationRuntime": "DefaultIntegrationRuntime (West US 2)",
    "executionDuration": 234,
    "durationInQueue": {
        "integrationRuntimeQueue": 0
    },
    "billingReference": {
        "activityType": "ExternalActivity",
        "billableDuration": [
            {
                "meterType": "AzureIR",
                "duration": 0.06666666666666667,
                "unit": "Hours"
            }
        ]
    }
}

Ismert problémák

Ha a jegyzetfüzet neve meg van jelölve a folyamatjegyzetfüzet-tevékenységben, akkor a jegyzetfüzet nem közzétett állapotú verziójára nem lehet hivatkozni a hibakeresési futtatásokban.