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 parameters lub argumenty.

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

  • Skonfigurowano values dla zadania, w tym nazwę 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.
  • Values skonfigurowano przy użyciu zadania parameters, parameters, lub set przy użyciu zadania values.

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 dynamicznej muszą być zdefiniowane przy użyciu parameters lub pól, które przekazują kontekst zadaniom.

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 identifier z backticks (` `).

Błędy składniowe, w tym nieistniejące dynamiczne odwołania values i brakujące nawiasy klamrowe, są ignorowane bez powiadomienia 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, zapewniają skrót do insert dostępnych odwołań do wartości dynamicznych. Kliknij { }, aby wyświetlić tę list i insert ją w podanym polu.

Uwaga

Interfejs użytkownika nie uzupełnia automatycznie kluczy do odwołania do zadania values.

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

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

Użyj składni {{ }}, aby zastosować dynamiczne values w definicjach JSON zadań stosowanych przez CLI Databricks i REST API.

Zadanie i zadanie parameters mają inną składnię, a składnia parametrów zadania różni się w zależności od typu zadania.

W poniższym przykładzie przedstawiono częściową składnię JSON do skonfigurowania zadania parameters 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ę JSON do konfigurowania zadania notatnika parameters przy użyciu dynamicznego odniesienia wartości.

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

Przeglądanie parameters pod kątem uruchomienia zadania

Po zakończeniu zadania na stronie szczegółów przebiegu można zobaczyć rozpoznany parametr values w obszarze Parameters. 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}} Unikalny identyfikator identifier przypisany do zadania.
{{job.name}} Nazwa zadania w momencie uruchomienia zadania.
{{job.run_id}} Unikalny identifier przypisany do uruchomienia zadania.
{{job.repair_count}} Liczba prób naprawy w bieżącym uruchomieniu zadania.
{{job.start_time.<argument>}} Wartość oparta na czasie (w UTC timezone), kiedy rozpoczęło się uruchomienie zadania. Wartość zwracana jest oparta na argument opcji . Zobacz Opcje daty i godziny values.
{{job.parameters.<name>}} Wartość parametru poziomu zadania z kluczem <name>.
{{job.trigger.type}} Typ wyzwalacza przebiegu zadania. Możliwe values 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 timezoneUTC), w momencie uruchomienia zadania, zaokrąglona do pełnej minuty dla zadań z harmonogramem cron. Wartość zwracana jest oparta na argument opcji . Zobacz Opcje daty i godziny values.
{{task.name}} Nazwa bieżącego zadania.
{{task.run_id}} Unikalny identifier dla bieżącego uruchomienia 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}} Unikalny numer identifier przypisany do wykonania zadania dla <task_name>.
{{tasks.<task_name>.result_state}} Stan wyniku zadania <task_name>. Możliwe values 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 values 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>, która została set przez zadanie <task_name>.
{{workspace.id}} Unikalny identifier przypisany do obszaru roboczego.
{{workspace.url}} Adres URL obszaru roboczego.

Te odwołania można set z dowolnym zadaniem. Zobacz Konfigurowanie zadania parameters.

Można również przekazać parameters między zadaniami w zadaniu za pomocą zadania values. Zobacz Użyj zadania values, aby przekazać informacje między zadaniami.

Opcje dotyczące daty i czasu values

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

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}} Unikalny identifier przypisany do zadania. Użycie w zamian parametru job.id.
{{run_id}} Unikatowy identifier przypisany do wykonania zadania. Użycie w zamian parametru task.run_id.
{{start_date}} Data uruchomienia zadania. Format to rrrr-MM-dd w formacie UTC timezone. 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 timezoneUTC, 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}} Unikalna identifier przypisana do przebiegu zadania z wieloma zadaniami. 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.