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_550315892394120
wartość .
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 , continuous i 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_evicted i 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 , ResourceNotFound i 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 . |