Udostępnij za pośrednictwem


Co to jest odwołanie do wartości dynamicznej?

Odwołania do wartości dynamicznych opisują kolekcję zmiennych dostępnych podczas konfigurowania zadań i zadań. Użyj odwołań do wartości dynamicznych, aby skonfigurować instrukcje warunkowe dla zadań lub przekazać informacje jako parametry lub argumenty.

Odwołania do wartości dynamicznych obejmują takie informacje jak:

  • Skonfigurowane wartości zadania, w tym nazwa zadania, nazwy zadań i typ wyzwalacza.
  • Wygenerowane metadane dotyczące zadania, w tym identyfikator zadania, identyfikator przebiegu i czas rozpoczęcia uruchomienia zadania.
  • Informacje o tylu próbach naprawy wykonanego zadania lub ponawiania próby uruchomienia zadania.
  • Stan wyniku określonego zadania.
  • Wartości skonfigurowane przy użyciu parametrów pracy, parametrów zadań lub ustawione jako wartości zadań.

Używanie odwołań do wartości dynamicznych

Podczas konfigurowania zadań lub zadań należy używać odwołań do wartości dynamicznych. Nie można bezpośrednio odwoływać się do odwołań do wartości dynamicznych z zasobów skonfigurowanych przy użyciu zadań, takich jak notesy, zapytania lub elementy JAR. Odwołania do wartości dynamicznych muszą być definiowane przy użyciu parametrów lub pól, które przekazują kontekst do zadań.

Odwołania do wartości dynamicznych używają podwójnych nawiasów klamrowych ({{ }}). Gdy zadanie lub zadanie zostanie uruchomione, literał ciągu zastępuje odwołanie do wartości dynamicznej. Jeśli na przykład skonfigurujesz następującą parę klucz-wartość jako parametr zadania:

{"job_run_id": "job_{{job.run_id}}"}

Jeśli identyfikator przebiegu to 550315892394120, wartość dla wartości job_run_id jest obliczana na job_550315892394120wartość .

Uwaga

Zawartość podwójnych nawiasów klamrowych nie jest obliczana jako wyrażenia. Nie można uruchamiać operacji ani funkcji w nawiasach klamrowych z podwójnymi klamrami.

Identyfikatory wartości udostępniane przez użytkownika obsługują znaki alfanumeryczne i podkreślenia. Klucze ucieczki zawierające znaki specjalne otaczające identyfikator za pomocą backticks (` `).

Błędy składniowe, w tym nieistniejące wartości odwołań dynamicznych i brakujące nawiasy klamrowe, są cicho ignorowane i traktowane jako ciągi znaków. Zostanie wyświetlony komunikat o błędzie, jeśli podasz nieprawidłowe odwołanie należące do znanej przestrzeni nazw, na przykład {{job.notebook_url}}.

Używanie odwołań do wartości dynamicznych w interfejsie użytkownika zadań

Pola, które akceptują odwołania do wartości dynamicznych, udostępniają skrót do wstawiania dostępnych odwołań do wartości dynamicznych. Kliknij { }, aby wyświetlić tę listę i wstawić ją do podanego pola.

Uwaga

Interfejs użytkownika nie uzupełnia automatycznie kluczy dla odniesienia się do wartości zadań.

Wiele pól, które akceptują odwołania do wartości dynamicznych, wymaga dodatkowego formatowania, aby używać ich poprawnie. Zobacz Konfigurowanie parametrów zadania.

Używanie odwołań do wartości dynamicznych w formacie JSON zadania

Użyj składni {{ }}, aby korzystać z dynamicznych wartości w definicjach JSON dla zadań używanych w interfejsie wiersza polecenia Databricks oraz REST API.

Parametry zadań i prac mają różne składnie, a składnia parametrów zadania różni się w zależności od typu zadania.

Poniższy przykład przedstawia częściową składnię JSON w celu skonfigurowania parametrów zadania przy użyciu odwołań do wartości dynamicznych:

{
  "parameters": [
    {
      "name": "my_job_id",
      "default": "{{job.id}}"
    },
    {
      "name": "run_date",
      "default": "{{job.start_time.iso_date}}"
    }
  ]
}

Poniższy przykład przedstawia częściową składnię formatu JSON w celu skonfigurowania parametrów zadania notebooka z użyciem dynamicznego odwołania do wartości.

{
  "notebook_task": {
    "base_parameters": {
      "workspace_id": "workspace_{{workspace.id}}",
      "file_arrival_location": "{{job.trigger.file_arrival.location}}"
    }
  }
}

Przeglądanie parametrów przebiegu zadania

Po zakończeniu zadania można zobaczyć ustalone wartości parametrów w obszarze Parametry na stronie szczegółów przebiegu. Zobacz Wyświetlanie szczegółów uruchomienia zadania.

Obsługiwane odwołania do wartości

Obsługiwane są następujące odwołania do wartości dynamicznych:

Odwołanie opis
{{job.id}} Unikatowy identyfikator przypisany do zadania.
{{job.name}} Nazwa zadania w momencie uruchomienia zadania.
{{job.run_id}} Unikatowy identyfikator przypisany do przebiegu zadania.
{{job.repair_count}} Liczba prób naprawy w bieżącym uruchomieniu zadania.
{{job.start_time.<argument>}} Wartość oparta na godzinie (w strefie czasowej UTC), którą uruchomiono zadanie. Wartość zwracana jest oparta na argument opcji . Zobacz Opcje wartości daty i godziny.
{{job.parameters.<name>}} Wartość parametru poziomu zadania z kluczem <name>.
{{job.trigger.type}} Typ wyzwalacza przebiegu zadania. Możliwe wartości to periodic, one_time, run_job_task, file_arrival, continuousi table.
{{job.trigger.file_arrival.location}} Jeśli dla tego zadania skonfigurowano wyzwalacz przybycia pliku, wartość lokalizacji przechowywania.
{{job.trigger.time.<argument>}} Wartość oparta na czasie (w strefie czasowej UTC), w której uruchomiono zadanie, zaokrąglona w dół do najbliższej minuty dla zadań z harmonogramem crona. Wartość zwracana jest oparta na argument opcji . Zobacz Opcje wartości daty i godziny.
{{task.name}} Nazwa bieżącego zadania.
{{task.run_id}} Unikatowy identyfikator bieżącego przebiegu zadania.
{{task.execution_count}} Liczba uruchomień bieżącego zadania (w tym ponownych prób i napraw).
{{task.notebook_path}} Ścieżka notesu bieżącego zadania notesu.
{{tasks.<task_name>.run_id}} Unikatowy identyfikator przypisany do wykonania zadania dla <task_name>.
{{tasks.<task_name>.result_state}} Stan wyniku zadania <task_name>. Możliwe wartości to success, failed, excluded, canceled, evicted, timedout, upstream_canceled, upstream_evictedi upstream_failed.
{{tasks.<task_name>.error_code}} Kod błędu zadania <task_name> , jeśli wystąpił błąd podczas uruchamiania zadania. Przykłady możliwych wartości to RunExecutionError, ResourceNotFoundi UnauthorizedError. W przypadku zadań zakończonych powodzeniem jest to wynikiem pustego ciągu.
{{tasks.<task_name>.execution_count}} Liczba uruchomień zadania <task_name> (w tym ponownych prób i napraw).
{{tasks.<task_name>.notebook_path}} Ścieżka do notesu dla zadania <task_name>notesu .
{{tasks.<task_name>.values.<value_name>}} Wartość zadania z kluczem <value_name>, ustawiona przez zadanie <task_name>.
{{workspace.id}} Unikatowy identyfikator przypisany do obszaru roboczego.
{{workspace.url}} Adres URL obszaru roboczego.

Te referencje można ustawić dla dowolnego zadania. Zobacz Konfigurowanie parametrów zadania.

Można również przekazać parametry między zadaniami w ramach zadania, używając wartości zadania . Zobacz Używanie wartości zadań do przekazywania informacji między zadaniami.

Opcje wartości daty i godziny

Użyj następujących argumentów, aby określić wartość zwracaną ze zmiennych parametrów opartych na czasie. Wszystkie wartości zwracane są oparte na znaczniku czasu w strefie czasowej UTC.

Argument opis
iso_weekday Zwraca cyfrę z zakresu od 1 do 7, reprezentującą dzień tygodnia znacznika czasu.
is_weekday Zwraca wartość true , jeśli sygnatura czasowa jest w dni powszednie.
iso_date Zwraca datę w formacie ISO.
iso_datetime Zwraca datę i godzinę w formacie ISO.
year Zwraca część roku znacznika czasu.
month Zwraca część znacznika czasu w miesiącu.
day Zwraca część dnia znacznika czasu.
hour Zwraca część godziny znacznika czasu.
minute Zwraca część minuty znacznika czasu.
second Zwraca drugą część znacznika czasu.
timestamp_ms Zwraca znacznik czasu w milisekundach.

Przestarzałe odwołania do wartości dynamicznej

Następujące odwołania do wartości dynamicznej są przestarzałe. Zalecane odwołanie zastępcze znajduje się w opisie każdej zmiennej.

Zmienna opis
{{job_id}} Unikatowy identyfikator przypisany do zadania. Użycie w zamian parametru job.id.
{{run_id}} Unikatowy identyfikator przypisany do przebiegu zadania. Użycie w zamian parametru task.run_id.
{{start_date}} Data uruchomienia zadania. Format jest yyyy-MM-dd w strefie czasowej UTC. Użycie w zamian parametru job.start_time.<argument>.
{{start_time}} Sygnatura czasowa rozpoczęcia wykonywania przebiegu po utworzeniu i dokonaniu gotowości klastra. Format to milisekundy od epoki SYSTEMU UNIX w strefie czasowej UTC, co jest zwracane przez System.currentTimeMillis(). Użycie w zamian parametru job.start_time.<format>.
{{task_retry_count}} Liczba ponownych prób, które próbowano uruchomić zadanie, jeśli pierwsza próba zakończy się niepowodzeniem. Wartość to 0 dla pierwszej próby i zwiększa się wraz z każdą ponowną próbą. Użycie w zamian parametru task.execution_count.
{{parent_run_id}} Unikatowy identyfikator przypisany do uruchomienia zadania z wieloma podzadaniami. Użycie w zamian parametru job.run_id.
{{task_key}} Unikatowa nazwa przypisana do zadania, które jest częścią zadania z wieloma zadaniami. Użycie w zamian parametru task.name.