Mi az a dinamikus értékhivatkozás?
A dinamikus értékhivatkozások a feladatok és tevékenységek konfigurálásakor elérhető változók gyűjteményét írják le. Dinamikus értékhivatkozások használatával konfigurálhat feltételes utasításokat a tevékenységekhez, vagy paraméterekként vagy argumentumokként adhat át adatokat.
A dinamikus értékhivatkozások olyan információkat tartalmaznak, mint például:
- A feladathoz konfigurált értékek, beleértve a feladat nevét, a feladatneveket és az eseményindító típusát.
- Metaadatokat generált a feladatról, beleértve a feladat azonosítóját, a futtatási azonosítót és a feladat futási kezdési idejét.
- Információ arról, hogy egy feladat hány javítási kísérletet hajtott végre vagy kísérelt meg újra futtatni.
- Egy adott tevékenység eredményállapota.
- Feladatparaméterekkel, tevékenységparaméterekkel konfigurált vagy tevékenységértékekkel beállított értékek.
Dinamikus értékhivatkozások használata
Dinamikus értékhivatkozások használata feladatok vagy tevékenységek konfigurálásakor. Nem hivatkozhat közvetlenül dinamikus értékhivatkozásokra a tevékenységek, például jegyzetfüzetek, lekérdezések vagy JAR-ek használatával konfigurált objektumokból. A dinamikus értékhivatkozásokat olyan paraméterekkel vagy mezőkkel kell definiálni, amelyek kontextust adnak át a tevékenységeknek.
A dinamikus értékhivatkozások kettős kapcsos zárójelet ({{ }}
) használnak. Feladat vagy tevékenység futtatásakor egy sztringkonstans helyettesíti a dinamikus értékhivatkozást. Ha például a következő kulcs-érték párot konfigurálja feladatparaméterként:
{"job_run_id": "job_{{job.run_id}}"}
Ha a futtatási azonosító az 550315892394120
, a kiértékelendő job_run_id
érték a következő lesz job_550315892394120
: .
Feljegyzés
A dupla kapcsos zárójelek tartalma nem kiértékelhető kifejezésként. Nem futtathat műveleteket vagy függvényeket dupla kapcsos zárójelekben.
A felhasználó által megadott értékazonosítók támogatják az alfanumerikus és aláhúzásjeles karaktereket. Az elkerülő kulcsok, amelyek speciális karaktereket tartalmaznak, az azonosítót backtick karakterekkel (fordított aposztróf) határolják körül (` `
).
A szintaxishibákat, beleértve a nem létező dinamikus referenciaértékeket és a hiányzó zárójeleket, a rendszer csendesen figyelmen kívül hagyja, és literális sztringként kezeli. Hibaüzenet jelenik meg, ha egy ismert névtérhez tartozó érvénytelen hivatkozást ad meg, például {{job.notebook_url}}
: .
Dinamikus értékhivatkozások használata a feladatok felhasználói felületén
A dinamikus értékhivatkozásokat elfogadó mezők parancsikont biztosítanak az elérhető dinamikus értékhivatkozások beszúrásához. Kattintson a { } gombra a lista megtekintéséhez és a megadott mezőbe való beszúrásához.
Feljegyzés
A felhasználói felület nem egészíti ki automatikusan a kulcsokat a feladatértékek hivatkozásához.
A dinamikus értékhivatkozásokat elfogadó számos mező további formázást igényel a helyes használatukhoz. Lásd: Feladatparaméterek konfigurálása.
Dinamikus értékhivatkozások használata feladat JSON-fájljában
Használja {{ }}
szintaxist dinamikus értékek használatára a Databricks CLI és a REST API által használt feladat JSON-definícióiban.
A feladat- és tevékenységparaméterek szintaxisa eltérő, a tevékenységparaméter szintaxisa pedig tevékenységtípusonként változik.
Az alábbi példa azt a részleges JSON-szintaxist mutatja be, amely dinamikus értékhivatkozások használatával konfigurálja a feladatparamétereket:
{
"parameters": [
{
"name": "my_job_id",
"default": "{{job.id}}"
},
{
"name": "run_date",
"default": "{{job.start_time.iso_date}}"
}
]
}
Az alábbi példa azt a részleges JSON-szintaxist mutatja be, amely dinamikus értékhivatkozással konfigurálja a jegyzetfüzet-feladat paramétereit:
{
"notebook_task": {
"base_parameters": {
"workspace_id": "workspace_{{workspace.id}}",
"file_arrival_location": "{{job.trigger.file_arrival.location}}"
}
}
}
Feladatfuttatás paramétereinek áttekintése
A feladat befejezése után a futtatás részleteinek lapján a Paraméterek alatt láthatja a feloldott paraméterértékeket. Lásd: Feladatfuttatás részleteinek megtekintése.
Támogatott értékhivatkozások
A következő dinamikus értékhivatkozások támogatottak:
Referencia | Leírás |
---|---|
{{job.id}} |
A feladathoz rendelt egyedi azonosító. |
{{job.name}} |
A feladat neve a feladat futtatásakor. |
{{job.run_id}} |
A feladat futtatásához hozzárendelt egyedi azonosító. |
{{job.repair_count}} |
Az aktuális feladatfuttatás javítási kísérleteinek száma. |
{{job.start_time.<argument>}} |
A feladat futtatásának időpontja (UTC időzóna szerint) alapján megadott érték. A visszatérési érték a argument beállításon alapul. Lásd: Dátum- és időértékek beállításai. |
{{job.parameters.<name>}} |
A feladatszintű paraméter értéke a kulccsal <name> . |
{{job.trigger.type}} |
A feladat futtatásának eseményindító típusa. A lehetséges értékek a következők: periodic , one_time , run_job_task , file_arrival , continuous és table . |
{{job.trigger.file_arrival.location}} |
Ha ehhez a feladathoz egy fájlérkezés-eseményindító van konfigurálva, a tárolási hely értéke. |
{{job.trigger.time.<argument>}} |
A feladat futtatásának időpontja (UTC időzónában) alapuló érték, amely a cron ütemezéssel rendelkező feladatok legközelebbi percére van kerekítve. A visszatérési érték a argument beállításon alapul. Lásd: Dátum- és időértékek beállításai. |
{{task.name}} |
Az aktuális tevékenység neve. |
{{task.run_id}} |
Az aktuális feladatfuttatás egyedi azonosítója. |
{{task.execution_count}} |
Az aktuális tevékenység futtatásának száma (beleértve az újrapróbálkozást és a javítást is). |
{{task.notebook_path}} |
Az aktuális jegyzetfüzet-feladat jegyzetfüzet-elérési útja. |
{{tasks.<task_name>.run_id}} |
A <task_name> feladathoz rendelt egyedi azonosító. |
{{tasks.<task_name>.result_state}} |
A tevékenység <task_name> eredményállapota. A lehetséges értékek a következők: success , failed , excluded , canceled , evicted , timedout , upstream_canceled , upstream_evicted és upstream_failed . |
{{tasks.<task_name>.error_code}} |
A feladat <task_name> hibakódja, ha hiba történt a feladat futtatásakor. Lehetséges értékek például a RunExecutionError , a ResourceNotFound és a UnauthorizedError . Sikeres feladatok esetén ez egy üres sztringre lesz kiértékelve. |
{{tasks.<task_name>.execution_count}} |
A tevékenység <task_name> futtatásának száma (beleértve az újrapróbálkozást és a javítást is). |
{{tasks.<task_name>.notebook_path}} |
A jegyzetfüzet-feladat <task_name> jegyzetfüzetének elérési útja. |
{{tasks.<task_name>.values.<value_name>}} |
A <task_name> feladat által beállított <value_name> kulccsal rendelkező feladatérték. |
{{workspace.id}} |
A munkaterülethez rendelt egyedi azonosító. |
{{workspace.url}} |
A munkaterület URL-címe. |
Ezeket a hivatkozásokat bármilyen feladattal beállíthatja. Lásd: Feladatparaméterek konfigurálása.
Paramétereket is átadhat feladatok között egy munkában feladatértékekkel. Lásd: Tevékenységértékek használata a tevékenységekközötti információátadáshoz.
Dátum- és időértékek beállításai
Az alábbi argumentumokkal adja meg az időalapú paraméterváltozók visszatérési értékét. Az összes visszatérési érték az UTC időzónában megadott időbélyegen alapul.
Argumentum | Leírás |
---|---|
iso_weekday |
Egy 1 és 7 közötti számjegyet ad vissza, amely az időbélyeg hétének napját jelöli. |
is_weekday |
Visszaadja true , ha az időbélyeg egy hétköznap van. |
iso_date |
A dátumot ISO formátumban adja vissza. |
iso_datetime |
Iso formátumban adja vissza a dátumot és az időt. |
year |
Az időbélyeg évrészét adja vissza. |
month |
Az időbélyeg hónaprészét adja vissza. |
day |
Az időbélyeg naprészét adja vissza. |
hour |
Az időbélyeg óra részét adja vissza. |
minute |
Az időbélyeg percrészét adja vissza. |
second |
Az időbélyeg második részét adja vissza. |
timestamp_ms |
Ezredmásodpercben adja vissza az időbélyeget. |
Elavult dinamikus értékhivatkozások
A következő dinamikus értékhivatkozások elavultak. Az ajánlott cserehivatkozás az egyes változók leírásában szerepel.
Változó | Leírás |
---|---|
{{job_id}} |
A feladathoz rendelt egyedi azonosító. A job.id használható helyette. |
{{run_id}} |
Az egyedi azonosító, amely egy feladatfuttatáshoz van rendelve. A task.run_id használható helyette. |
{{start_date}} |
A tevékenység futtatásának dátuma. A formátum yyyyy-MM-dd az UTC időzónában. A job.start_time.<argument> használható helyette. |
{{start_time}} |
A fürt létrehozása és előkészítése után a futtatás végrehajtási kezdetének időbélyege. A formátum az UNIX-korszak óta eltelt ezredmásodpercek az UTC időzónában, ahogyan azt a System.currentTimeMillis() visszaadja. A job.start_time.<format> használható helyette. |
{{task_retry_count}} |
Azon újrapróbálkozási kísérletek száma, amelyeket az első kísérlet sikertelensége esetén kíséreltek meg futtatni. Az érték az első kísérletnél 0, az egyes újrapróbálkozásoknál pedig növekmény. A task.execution_count használható helyette. |
{{parent_run_id}} |
Egy több feladatot tartalmazó feladat futtatásához hozzárendelt egyedi azonosító. A job.run_id használható helyette. |
{{task_key}} |
A több tevékenységgel rendelkező feladat részét képező tevékenységhez rendelt egyedi név. A task.name használható helyette. |