Aracılığıyla paylaş


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 550315892394120değ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_arrivalrun_job_task, ve continuoustabledeğ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, ResourceNotFoundve UnauthorizedErrorverilebilir. 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.