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üzettevékenysége 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 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.
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.
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.
Adja meg a paramétereket ebben a cellában. Ez lehet valami olyan egyszerű, mint:
a = 1
b = 3
c = "Default Value"
Ezekre a paraméterekre hivatkozhat más cellákban, és amikor a jegyzetfüzetet futtatja a paramétercellában megadott alapértelmezett értékek használatára.
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.
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.
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:
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.
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":
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.
Jegyzetfüzet pillanatképének megnyitása:
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.
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.