Dinamik değer başvurusu nedir?
Dinamik değer başvuruları, işleri ve görevleri yapılandırırken kullanılabilen değişken koleksiyonunu açıklar. Görevler için koşullu deyimleri yapılandırmak veya bilgileri parametre veya bağımsız değişken olarak geçirmek için dinamik değer başvurularını kullanın.
Dinamik değer başvuruları şunlar gibi bilgileri içerir:
- İş adı, görev adları ve tetikleyici türü dahil olmak üzere iş için yapılandırılmış değerler.
- İş kimliği, çalıştırma kimliği ve iş çalıştırma başlangıç zamanı dahil olmak üzere iş hakkında oluşturulan meta veriler.
- Bir işin kaç onarım denemesi yaptığı veya bir görevin çalıştırıldığını yeniden denemesi hakkında bilgi.
- Belirtilen görevin sonuç durumu.
- İş parametreleri, görev parametreleri veya görev değerleri kullanılarak ayarlanan değerler.
Dinamik değer başvurularını kullanma
İşleri veya görevleri yapılandırırken dinamik değer başvurularını kullanın. Not defterleri, sorgular veya JAR'ler gibi görevler kullanılarak yapılandırılan varlıklardan dinamik değer başvurularına doğrudan başvuramazsınız. Dinamik değer başvuruları, bağlamı görevlere geçiren parametreler veya alanlar kullanılarak tanımlanmalıdır.
Dinamik değer başvuruları çift küme ayracı ({{ }}
) kullanır. Bir iş veya görev çalıştırıldığında, dinamik değer başvurusunun yerini dize değişmez değeri alır. Örneğin, aşağıdaki anahtar-değer çiftini bir görev parametresi olarak yapılandırdığınızda:
{"job_run_id": "job_{{job.run_id}}"}
Çalıştırma kimliğiniz ise 550315892394120
değerini job_run_id
olarak değerlendirir job_550315892394120
.
Not
Çift küme ayraçlarının içeriği ifade olarak değerlendirilmez. İşlemleri veya işlevleri çift küme ayraçlarında çalıştıramazsınız.
Kullanıcı tarafından sağlanan değer tanımlayıcıları alfasayısal ve alt çizgi karakterlerini destekler. Tanımlayıcıyı backticks (` `
ile çevreleyerek özel karakterler içeren kaçış tuşları.
Varolmayan dinamik başvuru değerleri ve eksik ayraçlar dahil olmak üzere söz dizimi hataları sessizce yoksayılır ve değişmez değer dizeleri olarak değerlendirilir. Bilinen bir ad alanına ait geçerli olmayan bir başvuru sağlarsanız ( örneğin, {{job.notebook_url}}
) bir hata iletisi görüntülenir.
İşler kullanıcı arabiriminde dinamik değer başvuruları kullanma
Dinamik değer başvurularını kabul eden alanlar, kullanılabilir dinamik değer başvuruları eklemek için bir kısayol sağlar. Bu listeyi görmek ve sağlanan alana eklemek için { } öğesine tıklayın.
Not
Kullanıcı arabirimi, görev değerlerine başvurmak için anahtarları otomatik olarak tamamlamaz.
Dinamik değer başvurularını kabul eden birçok alan, bunları doğru kullanmak için ek biçimlendirme gerektirir. Bkz . Görev parametrelerini yapılandırma.
İş JSON'unda dinamik değer başvuruları kullanma
Databricks CLI ve REST API tarafından kullanılan iş JSON tanımlarında dinamik değerleri kullanmak için söz dizimini kullanın {{ }}
.
İş ve görev parametrelerinin söz dizimi farklıdır ve görev parametresi söz dizimi görev türüne göre değişir.
Aşağıdaki örnekte, dinamik değer başvurularını kullanarak iş parametrelerini yapılandırmak için kısmi JSON söz dizimi gösterilmektedir:
{
"parameters": [
{
"name": "my_job_id",
"default": "{{job.id}}"
},
{
"name": "run_date",
"default": "{{job.start_time.iso_date}}"
}
]
}
Aşağıdaki örnek, dinamik değer başvurusu kullanarak not defteri görev parametrelerini yapılandırmak için kısmi JSON söz dizimini gösterir:
{
"notebook_task": {
"base_parameters": {
"workspace_id": "workspace_{{workspace.id}}",
"file_arrival_location": "{{job.trigger.file_arrival.location}}"
}
}
}
İş çalıştırması için parametreleri gözden geçirme
Görev tamamlandıktan sonra, çalıştırma ayrıntıları sayfasındaki Parametreler altında çözümlenen parametre değerlerini görebilirsiniz. Bkz. İş çalıştırma ayrıntılarını görüntüleme.
Desteklenen değer başvuruları
Aşağıdaki dinamik değer başvuruları desteklenir:
Başvuru | Açıklama |
---|---|
{{job.id}} |
İşe atanan benzersiz tanımlayıcı. |
{{job.name}} |
İş çalıştırıldığında işin adı. |
{{job.run_id}} |
İş çalıştırmasına atanan benzersiz tanımlayıcı. |
{{job.repair_count}} |
Geçerli iş çalıştırması üzerindeki onarım denemelerinin sayısı. |
{{job.start_time.<argument>}} |
İşin başlattığı saati (UTC saat diliminde) temel alan bir değer. Dönüş değeri seçeneğine argument bağlıdır. Bkz. Tarih ve saat değerleri için seçenekler. |
{{job.parameters.<name>}} |
anahtarıyla <name> iş düzeyi parametresinin değeri. |
{{job.trigger.type}} |
İşin tetikleyici türü çalıştırılır. Olası değerler , , one_time , file_arrival run_job_task , ve continuous table değerleridirperiodic . |
{{job.trigger.file_arrival.location}} |
Bu iş için bir dosya varış tetikleyicisi yapılandırıldıysa, depolama konumunun değeri. |
{{job.trigger.time.<argument>}} |
İş çalıştırmasının tetiklendiği saate (UTC saat diliminde) göre bir değer, cron zamanlaması olan işler için en yakın dakikaya yuvarlanır. Dönüş değeri seçeneğine argument bağlıdır. Bkz. Tarih ve saat değerleri için seçenekler. |
{{task.name}} |
Geçerli görevin adı. |
{{task.run_id}} |
Geçerli görev çalıştırmasının benzersiz tanımlayıcısı. |
{{task.execution_count}} |
Geçerli görevin çalışma sayısı (yeniden denemeler ve onarımlar dahil). |
{{task.notebook_path}} |
Geçerli not defteri görevinin not defteri yolu. |
{{tasks.<task_name>.run_id}} |
Görev çalıştırmasına atanan benzersiz tanımlayıcı için <task_name> çalışır. |
{{tasks.<task_name>.result_state}} |
Görevinin <task_name> sonuç durumu. Olası değerler: success , failed , excluded , canceled , evicted , timedout , upstream_canceled , upstream_evicted ve upstream_failed . |
{{tasks.<task_name>.error_code}} |
Görevi <task_name> çalıştırırken bir hata oluştuysa görevin hata kodu. Olası değerlere örnek olarak RunExecutionError , ResourceNotFound ve UnauthorizedError verilebilir. Başarılı görevler için bu, boş bir dize olarak değerlendirilir. |
{{tasks.<task_name>.execution_count}} |
Görevin <task_name> kaç kez çalıştırıldığı (yeniden denemeler ve onarımlar dahil). |
{{tasks.<task_name>.notebook_path}} |
Not defteri görevinin <task_name> not defterinin yolu. |
{{tasks.<task_name>.values.<value_name>}} |
görevi tarafından ayarlanan anahtara <value_name> sahip görev <task_name> değeri. |
{{workspace.id}} |
Çalışma alanına atanan benzersiz tanımlayıcı. |
{{workspace.url}} |
Çalışma alanının URL'si. |
Bu başvuruları herhangi bir görevle ayarlayabilirsiniz. Bkz . Görev parametrelerini yapılandırma.
Ayrıca, görev değerleriyle bir işteki görevler arasında parametre geçirebilirsiniz. Bkz . Görevler arasında bilgi geçirmek için görev değerlerini kullanma.
Tarih ve saat değerleri için seçenekler
Zaman tabanlı parametre değişkenlerinden dönüş değerini belirtmek için aşağıdaki bağımsız değişkenleri kullanın. Tüm dönüş değerleri UTC saat dilimindeki bir zaman damgasını temel alır.
Bağımsız değişken | Açıklama |
---|---|
iso_weekday |
Zaman damgasının haftanın gününü temsil eden 1 ile 7 arasındaki bir rakam döndürür. |
is_weekday |
Zaman damgası hafta içi bir gündeyse döndürür true . |
iso_date |
Tarihi ISO biçiminde döndürür. |
iso_datetime |
ISO biçiminde tarih ve saati döndürür. |
year |
Zaman damgasının yıl bölümünü döndürür. |
month |
Zaman damgasının ay bölümünü döndürür. |
day |
Zaman damgasının gün bölümünü döndürür. |
hour |
Zaman damgasının saat bölümünü döndürür. |
minute |
Zaman damgasının dakika kısmını döndürür. |
second |
Zaman damgasının ikinci bölümünü döndürür. |
timestamp_ms |
Milisaniye cinsinden zaman damgasını döndürür. |
Kullanım dışı dinamik değer başvuruları
Aşağıdaki dinamik değer başvuruları kullanım dışıdır. Önerilen değiştirme başvurusu, her değişkenin açıklamasına eklenir.
Değişken | Açıklama |
---|---|
{{job_id}} |
Bir işe atanan benzersiz tanımlayıcı. Bunun yerine job.id kullanın. |
{{run_id}} |
Bir görev çalıştırmasına atanan benzersiz tanımlayıcı. Bunun yerine task.run_id kullanın. |
{{start_date}} |
Bir görev çalıştırmasının başlatılı olduğu tarih. Biçimi UTC saat diliminde yy-MM-dd şeklindedir. Bunun yerine job.start_time.<argument> kullanın. |
{{start_time}} |
Küme oluşturulduktan ve hazır olduktan sonra çalıştırmanın yürütme başlangıcının zaman damgası. BIÇIMI, tarafından System.currentTimeMillis() döndürülen UTC saat diliminde UNIX döneminin üzerinden milisaniyedir. Bunun yerine job.start_time.<format> kullanın. |
{{task_retry_count}} |
İlk deneme başarısız olursa bir görevi çalıştırmaya çalışılmış olan yeniden deneme sayısı. İlk deneme için değer 0'dır ve her yeniden denemede artar. Bunun yerine task.execution_count kullanın. |
{{parent_run_id}} |
Birden çok görev içeren bir işin çalıştırılmasına atanan benzersiz tanımlayıcı. Bunun yerine job.run_id kullanın. |
{{task_key}} |
Birden çok görevi olan bir işin parçası olan göreve atanan benzersiz ad. Bunun yerine task.name kullanın. |