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 vállalatok számára. A Microsoft Fabric az adattovábbítástól az adatelemzésig, a valós idejű elemzésekig, az üzleti intelligenciáig és a jelentéskészítésig mindent lefed. Ismerje meg, hogyan indíthat új próbaverziót ingyen!

A Synapse-folyamat Azure Synapse jegyzetfüzettevékenysége synapse-jegyzetfüzetet futtat a 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üzettevékenység hozzáadása folyamatvászonról

Húzza a Synapse-jegyzetfüzetet a Tevékenységek területen a Synapse-folyamatvászonra. Válassza a Synapse notebook tevékenységmezőt, é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őprogram mérete beállítást. Meg kell jegyezni, hogy az itt újrakonfigurált beállítások lecserélik a konfigurálási munkamenet beállításait a Jegyzetfüzetben. 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 a 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-konfiguráció Spark-alkalmazás-végrehajtók foglalásának dinamikus foglalási tulajdonságára képez le leképezést. Nem
Minimális végrehajtók A feladathoz a megadott Spark-készletben lefoglalandó végrehajtók minimális száma. Nem
Végrehajtók maximális mérete 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

Megjegyzés

A párhuzamos Spark-jegyzetfüzetek Azure Synapse folyamatokban történő végrehajtása fifo-módon történik, a feladatok sorrendje az üzenetsorban az időütemezésnek megfelelően történik, a várólistán lévő feladatok lejárati ideje 3 nap. 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 adhat hozzá egy meglévő folyamathoz, vagy létrehozhat egy új folyamatot.

screenshot-showing-add-notebook-to-pipeline

Paraméterek átadása

Paramétercella kijelölése

A jegyzetfüzet paraméterezéséhez jelölje ki 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

Azure Data Factory megkeresi a paraméterek cellájá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, egy Synapse-jegyzetfüzet-tevékenységgel rendelkező folyamatból hajthatja végre. 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 notebook 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égében, 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ése és a folyamat újrapróbálkozása esetén a jegyzetfüzet-tevékenység kimenete tartalmazza az exitValue értéket, amelyet 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 a %run magic vagy az mssparkutils notebook segédprogramok meghívásával hivatkozhat. Mindkettő támogatja a beágyazott függvényhívásokat. A forgatókönyv alapján megfontolandó két módszer fő különbségei a következők:

  • %run magic a hivatkozott jegyzetfüzet összes celláját átmásolja a %run cellába, és megosztja a változókörnyezetet. Amikor a notebook1 a notebook2-ra hivatkozik, %run notebook2 és a notebook2 meghív egy mssparkutils.notebook.exit függvényt, a jegyzetfüzet1 cellában a cellavégrehajtás leáll. Azt javasoljuk, hogy a %run magic parancsot használja, ha jegyzetfüzetfájlt szeretne "belefoglalni".
  • Az mssparkutils notebook segédprogramja 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-ra hivatkozik, mssparkutils.notebook.run("notebook2") és a notebook2 meghív egy mssparkutils.notebook.exit függvényt, a jegyzetfüzet1 cellában a cella végrehajtása folytatódik. Azt javasoljuk, hogy akkor használja az mssparkutils notebook segédprogramjait, ha "importálni" szeretne egy jegyzetfüzetet.

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

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

A megnyitott jegyzetfüzet gombra kattintva megtekintheti a jegyzetfüzet legújabb futtatási pillanatképét, beleértve a cellák bemenetét és kimenetét is.

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

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

Képernyőkép egy megnyitott jegyzetfüzet-pillanatképről.

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 felhasználói hiba részletes visszakövetkeztetése megtekintéséhez.

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

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

Íme 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

Egy Synapse-jegyzetfüzet tevékenységkimenetének JSON-mintaadatai:

{
{
    "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 a Folyamatjegyzetfüzet tevékenységben szerepel, akkor a nem közzétett állapotú jegyzetfüzet-verzióra nem lehet hivatkozni a hibakeresési futtatásokban.