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


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. Speciális karaktereket tartalmazó feloldókulcsok az azonosító háttérrel (` `) való körülölelésével.

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 hajtja végre automatikusan a kulcsokat a tevékenységé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

Szintaxis használatával {{ }} dinamikus értékeket használhat 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észletei lapon a Paraméterek területen 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őkperiodic: , run_job_taskone_time, , file_arrivalcontinuousé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 feladat <task_name>futtatásához hozzárendelt egyedi azonosító.
{{tasks.<task_name>.result_state}} A tevékenység <task_name>eredményállapota. A lehetséges értékek: 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. Példák a lehetséges értékekre: RunExecutionError, ResourceNotFoundés 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 tevékenység értéke a tevékenység <task_name>által beállított kulccsal<value_name>.
{{workspace.id}} A munkaterülethez rendelt egyedi azonosító.
{{workspace.url}} A munkaterület URL-címe.

Ezeket a hivatkozásokat bármilyen tevékenységgel beállíthatja. Lásd: Feladatparaméterek konfigurálása.

Paramétereket is átadhat egy feladat tevékenységei között tevékenységértékekkel. Lásd: Tevékenységértékek használata a tevékenységek közötti információk átadásához.

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}} A tevékenységfuttatáshoz rendelt egyedi azonosító. 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 ezredmásodperc, mivel a UNIX-korszak az UTC időzónában van, a visszaadott időzónában System.currentTimeMillis(). 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.