Megosztás a következőn keresztül:


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!

A Synapse-folyamat Azure Synapse-jegyzetfüzet-tevékenysége egy Synapse-jegyzetfüzetet futtat az Azure Synapse-munkaterületen. 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 területen 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-készlet\Végrehajtó mérete\Dinamikusan lefoglalhatja a végrehajtókat\Minimális végrehajtók\Maximális végrehajtók\Illesztőprogramok méretét a beállítások között. 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.

screenshot-showing-create-notebook-activity

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
Végrehajtók dinamikus lefoglalá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 végrehajtók A feladathoz megadott Spark-készletben lefoglalandó végrehajtók minimális száma. Nem
Végrehajtók maximális kihasználtság A feladathoz megadott Spark-készletben lefoglalandó végrehajtók maximális száma. Nem
Illesztőprogram mérete A feladathoz megadott Apache Spark-készletben megadott illesztőprogramhoz használandó magok és memória száma. 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.

screenshot-showing-add-notebook-to-pipeline

Paraméterek átadá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 váltása lehetőséget a cella paramétercelláként való kijelöléséhez.

screenshot-showing-azure-notebook-toggle-parameter

Az Azure Data Factory megkeresi a paramétercellát, és a végrehajtási időpontban átadott paraméterek alapértelmezett értékeit használja. A végrehajtási motor egy új cellát ad hozzá a paramétercella alá bemeneti paraméterekkel az alapértelmezett értékek felülírásához.

Paraméterek értékeinek hozzárendelése folyamatból

Miután létrehozott egy paraméterekkel rendelkező jegyzetfüzetet, végrehajthatja egy folyamatból a Synapse notebook-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.

screenshot-showing-assign-a-parameter

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 kimenetéből lekért exitValue értéke "hello world":

    screenshot-showing-read-exit-value

Másik Synapse-jegyzetfüzet futtatása

A Synapse-jegyzetfüzetek tevékenységeinek más jegyzetfüzeteire is hivatkozhat a %run magic vagy mssparkutils notebook segédprogram 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 magic a hivatkozott jegyzetfüzet összes celláját átmásolja a %run cellába, és megosztja a változókörnyezetet. Ha a notebook1 a notebook2-re hivatkozik %run notebook2 , és a notebook2 meghív egy mssparkutils.notebook.exit függvényt, a jegyzetfüzet1 celláinak 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. Ha a notebook1 a notebook2-re hivatkozik mssparkutils.notebook.run("notebook2") , és a notebook2 meghív egy mssparkutils.notebook.exit függvényt, a jegyzetfüzet1 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égfuttatási előzményeinek megtekintése

Lépjen a Folyamatfuttatások lap Monitorozás lapjára, és látni fogja az aktivált folyamatot. Nyissa meg a jegyzetfüzettevékenységet tartalmazó folyamatot a futtatási előzmények megtekintéséhez.

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

Synapse-jegyzetfüzet tevékenységkimenete

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.