Bildirim temelli Otomasyon Paketlerinde işlere görev ekleme

Bu sayfada Bildirim temelli Otomasyon Paketlerinde iş görevlerinin nasıl tanımlanacağı hakkında bilgi sağlanır. İş görevleri hakkında bilgi için bkz. Lakeflow İşlerinde görevleri yapılandırma ve düzenleme.

Önemli

Yerel göreli yollar Git deposundaki aynı içeriğe git_source işaret etmeyebileceğinden, iş source alanı ve görev GIT alanının paketlerde kullanılması önerilmez. Paketler, dağıtılan bir işin dağıtıldığı yerel kopyayla aynı dosyalara sahip olmasını bekler.

Bunun yerine, depoyu yerel olarak kopyalayın ve paket projenizi bu depo içinde ayarlayın; böylece görevlerin kaynağı çalışma alanıdır.

Görevleri yapılandırma

Bir iş tanımının tasks anahtarında bir işin görevlerini bir demet içinde tanımlayın. Kullanılabilir görev türleri için görev yapılandırması örnekleri Görev ayarları bölümündedir. Pakette iş tanımlama hakkında bilgi için bkz. .

İpucu

Databricks CLI kullanarak var olan bir işin kaynak yapılandırmasını hızla oluşturmak için komutunu kullanabilirsinizbundle generate job. Bkz. paket komutları.

Görev değerlerini ayarlamak için, çoğu iş görevi türünün göreve özgü parametreleri vardır, ancak görevlere geçirilen iş parametrelerini de tanımlayabilirsiniz. Dinamik değer başvuruları , görevler arasında çalıştırılan işe özgü değerlerin geçirilmesini sağlayan iş parametreleri için desteklenir. Görev değerlerini görev türüne göre geçirme hakkında tam bilgi için bkz. Görev türüne göre ayrıntılar.

Genel iş görevi ayarlarını hedef çalışma alanı ayarlarıyla da geçersiz kılabilirsiniz. Hedef ayarlarla geçersiz kılma ifadesine bakın.

Aşağıdaki örnek yapılandırma, iki not defteri görevi olan bir işi tanımlar ve ilk görevden ikinci göreve bir görev değeri geçirir.

resources:
  jobs:
    pass_task_values_job:
      name: pass_task_values_job
      tasks:
        # Output task
        - task_key: output_value
          notebook_task:
            notebook_path: ../src/output_notebook.ipynb

        # Input task
        - task_key: input_value
          depends_on:
            - task_key: output_value
          notebook_task:
            notebook_path: ../src/input_notebook.ipynb
            base_parameters:
              received_message: '{{tasks.output_value.values.message}}'

output_notebook.ipynb, message anahtarı için bir görev değeri ayarlayan aşağıdaki kodu içerir:

# Databricks notebook source
# This first task sets a simple output value.

message = "Hello from the first task"

# Set the message to be used by other tasks
dbutils.jobs.taskValues.set(key="message", value=message)

print(f"Produced message: {message}")

, input_notebook.ipynb görevin yapılandırmasında ayarlanan parametresinin received_messagedeğerini alır:

# This notebook receives the message as a parameter.

dbutils.widgets.text("received_message", "")
received_message = dbutils.widgets.get("received_message")

print(f"Received message: {received_message}")

Görev ayarları

Bu bölümde her iş görev türü için ayarlar ve örnekler yer alır.

AI Runtime görevi

Önemli

Bu özellik Genel Önizleme aşamasındadır.

AI Runtime görevi, ai_runtime_task alanı mevcut olduğunda Databricks AI Runtime üzerinde çok GPU’lu bir hesaplama iş yükü çalıştırır. Hızlandırıcı tipini ve sayısını, her düğümde çalıştırılacak komutu ve çalışma çıktısının saklandığı MLflow deneyini belirlersiniz.

Aşağıdaki anahtarlar bir AI Çalışma Zamanı görevi için mevcuttur. İlgili REST API nesne tanımı için bkz. ai_runtime_task.

Databricks CLI sürüm 1.6.0'da eklendi

Key Türü Description
deployments Sıra Gerekli. Bu görev için dağıtım özellikleri. Şu anda tam olarak bir dağıtım destekleniyor (her düğümün aynı komutu çalıştırdığı tek bir giriş). Her dağıtım, şunları içeren bir nesnedir:
  • command_path (Dize): Gerekli. Bu dağıtımda her düğümde çalıştırılacak betikin çalışma alanı yolu. Görev çalıştığında, bu yoldaki dosya her düğümde çalıştırılır; Başarısız olursa, görev çıkış koduyla birlikte başarısız olur.
  • compute (Harita): Gerekli. Bu dağıtımda her düğüme tahsis edilen kaynakları hesaplayın. Içerir:
    • accelerator_type (Dize): Gerekli. Örneğin donanım hızlandırıcı türü GPU_1xA10 veya GPU_8xH100. Bir düğüm başına hızlandırıcı sayısı şu değerde kodlanır—GPU_8xH100 demektir her düğüm başına 8 H100 GPU.
    • accelerator_count (Tam sayı): Gerekli. Tüm düğümler boyunca toplam hızlandırıcı sayısı. accelerator_type içinde kodlanan düğüm başına hızlandırıcı sayısının pozitif bir katı olmalıdır. Örneğin, GPU_8xH100accelerator_count: 16 2 düğüm tahsis eder.
  • name (Dizgi): Bu dağıtım için isteğe bağlı insan tarafından okunabilir bir isim, örneğin driver veya worker. Log ve arayüz görüntüleme için kullanılır.
experiment String Gerekli. Bu çalışma için MLflow deney adı. Eğer bu ada sahip bir deney, çağrıyı yapan kullanıcı altında zaten varsa, çalıştırma kaydı bu deneye eklenir; aksi takdirde yeni bir deney oluşturulur. Belirli bir MLflow depolama konumunu hedeflemek için mlflow_experiment_directory ayarlayın.
mlflow_experiment_directory String experiment içinde adlandırılan MLflow deneyinin oluşturulduğu isteğe bağlı bir çalışma alanı dizini. ile /Workspacebaşlamalıdır. Bunu, varsayılan kullanıcı dizini olmayan bir servis yöneticisi olarak çalışırken ayarlayın; Düzenli kullanıcılar için deney varsayılan olarak kullanıcının ana dizinine yönelir.
mlflow_run String experiment altında oluşturulan MLflow çalışması için isteğe bağlı bir görünen ad. Eğer atlanırsa, MLflow varsayılan bir isim oluşturur.

Örnekler

Aşağıdaki örnek, bir işe AI Runtime görevi ekler. Görev, tek bir 8-GPU H100 düğümünde çalışır train.py ve belirtilen MLflow deneyinde çıktıyı saklar:

resources:
  jobs:
    my-ai-runtime-job:
      name: my-ai-runtime-job
      tasks:
        - task_key: train-task
          ai_runtime_task:
            experiment: /Users/someone@example.com/my-experiment
            deployments:
              - command_path: /Workspace/Users/someone@example.com/train.py
                compute:
                  accelerator_type: GPU_8xH100
                  accelerator_count: 8

Alert (v2) görevi

Uyarı (v2) görevi bir Databricks uyarısını değerlendirir ve alert_task alanı mevcut olduğunda abonelere bildirim gönderir. Uyarı görevleri hakkında daha fazla bilgi için bkz. İşler için SQL uyarı görevi.

Uyarı (v2) görevi için aşağıdaki anahtarlar kullanılabilir. İlgili REST API nesne tanımı için bkz. alert_task.

Databricks CLI sürüm 0.296.0'a eklendi

Key Türü Description
alert_id String Değerlendirilecek uyarının kimliği. Uyarıyı tanımlamak için yalnızca alert_id veya workspace_path belirtilebilir.
subscribers Sıra Uyarı görevi tamamlandıktan sonra uyarı değerlendirme sonucu bildirimleri alacak abonelerin listesi. Abonelik sayısı 100 ile sınırlıdır. Her abone, bildirim hedefi için bir (Dize) destination_id veya çalışma alanı kullanıcı e-posta adresi için bir (Dize) user_name içeren bir nesnedir.
warehouse_id String Uyarı görevi tarafından kullanılan ambar ayarları.
workspace_path String Çalışma alanında uyarı dosyasının yolu. Yol "/Çalışma Alanı" ile başlamalı ve normalleştirilmiş bir yol olmalıdır. Uyarıyı tanımlamak için yalnızca alert_id veya workspace_path belirtilebilir.

Örnekler

Aşağıdaki örnek bir işe uyarı görevi ekler:

resources:
  jobs:
    my_job:
      name: my_job
      tasks:
        - task_key: alert_task
          alert_task:
            workspace_path: ./my_alert.dbalert.json
            warehouse_id: 1a111111a1111aa1

Temiz oda defteri görevi

Temiz oda not defteri görevi, clean_rooms_notebook_task alanı mevcut olduğunda bir temiz oda not defteri çalıştırır. Temiz odalar hakkında bilgi için bkz. Azure Databricks Clean Rooms nedir?.

Temiz oda defteri görevi için aşağıdaki anahtarlar kullanılabilir. İlgili REST API nesne tanımı için bkz. clean_rooms_notebook_task.

Databricks CLI sürüm 0.237.0'a eklendi

Key Türü Description
clean_room_name String Gerekli. Not defterinin ait olduğu temiz oda.
etag String Not defteri kaynağının güncelliğini doğrulamak için sağlama toplamı. Temiz oda varlıkları get işlemi çağrılarak getirilebilir.
object Map Temiz oda not defteri işi için kullanılacak temel parametreler.
notebook_name String Gerekli. Çalıştırılmakta olan not defterinin adı.

Koşul görevi

condition_task, işinize if/else koşullu mantığıyla bir görev eklemenize olanak tanır. Görev, diğer görevlerin yürütülmesini denetlemek için kullanılabilecek bir koşulu değerlendirir. Koşul görevi, bir kümenin yürütülmesini gerektirmez ve yeniden denemeleri veya bildirimleri desteklemez. if/else koşulu görevi hakkında daha fazla bilgi için bkz. If/else göreviyle bir işe dallanma mantığı ekleme.

Bir koşul görevi için aşağıdaki anahtarlar kullanılabilir. İlgili REST API nesne tanımı için bkz. condition_task.

Key Türü Description
left String Gerekli. Koşulun sol işleneni. Dize değeri, iş durumu veya {{job.repair_count}} veya {{tasks.task_key.values.output}} gibi bir dinamik değer başvurusu olabilir.
op String Gerekli. Karşılaştırma için kullanılacak işleç. Geçerli değerler şunlardır: EQUAL_TO, NOT_EQUAL, GREATER_THAN, GREATER_THAN_OR_EQUAL, LESS_THAN, . LESS_THAN_OR_EQUAL
right String Gerekli. Koşulun sağ operandı. Dize değeri, iş durumu veya dinamik değer referansı olabilir.

Örnekler

Aşağıdaki örnek, bir koşul görevi ve not defteri görevi içerir; burada not defteri görevi yalnızca iş onarımı sayısı 5'ten az olduğunda yürütülür.

resources:
  jobs:
    my-job:
      name: my-job
      tasks:
        - task_key: condition_task
          condition_task:
            op: LESS_THAN
            left: '{{job.repair_count}}'
            right: '5'
        - task_key: notebook_task
          depends_on:
            - task_key: condition_task
              outcome: 'true'
          notebook_task:
            notebook_path: ../src/notebook.ipynb

Gösterge paneli görevi

Bu görevi bir panoyu yenilemek ve abonelere anlık görüntü göndermek için kullanırsınız. Paketlerdeki panolar ile ilgili daha fazla bilgi için pano sayfasına bakın.

Bir pano görevi için aşağıdaki anahtarlar kullanılabilir. İlgili REST API nesne tanımı için bkz. dashboard_task.

Databricks CLI sürüm 0.248.0'a eklendi

Key Türü Description
dashboard_id String Gerekli. Yenilenecek gösterge panelinin tanımlayıcısı. Pano zaten mevcut olmalıdır.
subscription Map Pano anlık görüntüsünü göndermeye yönelik abonelik yapılandırması. Her abonelik nesnesi, pano yenilemesi tamamlandıktan sonra anlık görüntülerin nereye gönderileceğine ilişkin hedef ayarları belirtebilir. Bkz. abonelik.
warehouse_id String Zamanlama için panoyu yürütmek üzere kullanılacak ambar kimliği. Belirtilmezse, panonun varsayılan ambarı kullanılır.

Örnekler

Aşağıdaki örnek, bir işe bir gösterge panosu görevi ekler. İş çalıştırıldığında, belirtilen kimliği içeren pano yenilenir.

resources:
  jobs:
    my-dashboard-job:
      name: my-dashboard-job
      tasks:
        - task_key: my-dashboard-task
          dashboard_task:
            dashboard_id: 11111111-1111-1111-1111-111111111111

dbt görevi

Bu görevi bir veya daha fazla dbt komutu çalıştırmak için kullanırsınız. dbt hakkında daha fazla bilgi için bkz. dbt Cloud'a bağlanma.

Bir dbt görevi için aşağıdaki anahtarlar kullanılabilir. İlgili REST API nesne tanımı için bkz. dbt_task.

Key Türü Description
catalog String Kullanılacak kataloğun adı. Katalog değeri yalnızca warehouse_id belirtildiğinde belirtilebilir. Bu alan dbt-databricks >= 1.1.1 gerektirir.
commands Sıra Gerekli. Sırayla yürütülecek dbt komutlarının listesi. Her komut tam bir dbt komutu olmalıdır (örneğin, dbt deps, dbt seed, dbt run, dbt test). En fazla 10 komut sağlanabilir.
profiles_directory String dbt profiles.yml dosyasını içeren dizinin yolu. Yalnızca warehouse_id belirtilmemişse belirtilebilir. warehouse_id belirtilmezse ve bu klasör ayarlanmadıysa kök dizin kullanılır.
project_directory String dbt projesini içeren dizine giden yol. Belirtilmezse, varsayılan olarak deponun veya çalışma alanı dizininin kökünü kullanır. Databricks çalışma alanında depolanan projeler için yol mutlak olmalı ve bir eğik çizgiyle başlamalıdır. Uzak depodaki projeler için yol göreli olmalıdır.
schema String Yazılacak olan şema. Bu parametre yalnızca warehouse_id de sağlandığında kullanılır. Sağlanmazsa, varsayılan şema kullanılır.
source String dbt projesinin konum türü. Geçerli değerler: WORKSPACE ve GIT. olarak ayarlandığında WORKSPACE, proje Databricks çalışma alanından alınır. GIT olarak ayarlandığında, proje git_source içinde tanımlanan bir Git deposundan alınır. Boşsa, görev GIT kullanır; eğer git_source tanımlıysa git_source’i kullanır, aksi takdirde ’yi kullanır.
warehouse_id String dbt komutlarını çalıştırmak için kullanılacak SQL ambarının kimliği. Belirtilmezse, varsayılan ambar kullanılır.

Örnekler

Aşağıdaki örnek, bir işe bir dbt görevi eklemektedir. Bu dbt görevi, belirtilen dbt komutlarını çalıştırmak için belirtilen SQL ambarını kullanır.

SQL ambarının kimliğini almak için SQL ambarının ayarlar sayfasını açın, ardından Genel Bakış sekmesindeki Ad alanındaki ambarın adından sonra parantez içinde bulunan kimliği kopyalayın.

İpucu

Bildirim temelli Otomasyon Paketleri, dbt görevine sahip bir işi tanımlayan bir proje şablonunun yanı sıra dağıtılan dbt işleri için dbt profillerini de içerir dbt-sql . Bildirim temelli Otomasyon Paketleri şablonları hakkında bilgi için bkz. Varsayılan paket şablonları.

resources:
  jobs:
    my-dbt-job:
      name: my-dbt-job
      tasks:
        - task_key: my-dbt-task
          dbt_task:
            commands:
              - 'dbt deps'
              - 'dbt seed'
              - 'dbt run'
            project_directory: /Users/someone@example.com/Testing
            warehouse_id: 1a111111a1111aa1
          libraries:
            - pypi:
                package: 'dbt-databricks>=1.0.0,<2.0.0'

Her görev için

for_each_task, işinize bir "for each" döngüsü ile görev eklemenizi sağlar. Görev, verilen her bir giriş için bir alt görev yürütür. Daha fazla bilgi için for_each_task hakkında bkz. Döngüde başka bir görevi çalıştırmak için For each görevini kullanma.

Aşağıdaki anahtarlar for_each_task için mevcut. İlgili REST API nesne tanımı için bkz. for_each_task.

Key Türü Description
concurrency Integer Eşzamanlı olarak çalışabilecek en fazla görev yinelemesi sayısı. Belirtilmezse, küme ve çalışma alanı sınırlarına bağlı olarak tüm yinelemeler paralel olarak çalıştırılabilir.
inputs String Gerekli. Döngü için giriş verileri. Bu bir JSON dizesi veya dizi parametresi başvurusu olabilir. Dizideki her öğe, iç içe geçmiş görevin bir yinelemesine aktarılır.
task Map Gerekli. Her bir giriş için gerçekleştirilecek yuvalanmış görev tanımı. Bu nesne, ve görev türü (örneğin, task_key, notebook_taskvb.) dahil olmak üzere python_wheel_task tam görev belirtimini içerir.

Örnekler

Aşağıdaki örnek, başka bir görevin değerleri üzerinde döngü yaparak bunları işleyen bir göreve for_each_task ekler.

resources:
  jobs:
    my_job:
      name: my_job
      tasks:
        - task_key: generate_countries_list
          notebook_task:
            notebook_path: ../src/generate_countries_list.ipnyb
        - task_key: process_countries
          depends_on:
            - task_key: generate_countries_list
          for_each_task:
            inputs: '{{tasks.generate_countries_list.values.countries}}'
            task:
              task_key: process_countries_iteration
              notebook_task:
                notebook_path: ../src/process_countries_notebook.ipnyb

JAR görevi

Bir JAR dosyasını çalıştırmak için bu görevi kullanırsınız. Yerel JAR kitaplıklarına veya bir çalışma alanındaki, Unity Kataloğu birimindeki ya da dış bulut depolama konumundaki kitaplıklara erişebilirsiniz. Bkz . JAR dosyası (Java veya Scala).

Standart erişim modunda Unity Kataloğu özellikli bir kümede Scala JAR dosyalarını derleme ve dağıtma hakkında ayrıntılı bilgi için bkz . Öğretici: Sunucusuz işlemde Scala kodunu çalıştırma.

Jar görevi için aşağıdaki anahtarlar kullanılabilir. İlgili REST API nesne tanımı için bkz. jar_task.

Key Türü Description
jar_uri String Deprecated. yürütülecek JAR'ın URI'si DBFS ve bulut depolama yolları desteklenir. Bu alan kullanım dışıdır ve kullanılmamalıdır. Bunun yerine JAR bağımlılıklarını belirtmek için alanını kullanın libraries .
main_class_name String Gerekli. Yürütülecek ana yöntemi içeren sınıfın tam adı. Bu sınıf, kitaplık olarak sağlanan bir JAR içinde yer almalıdır. Kodun bir Spark bağlamı elde etmek için SparkContext.getOrCreate kullanması gerekir; aksi takdirde çalıştırmalar başarısız olur.
parameters Sıra Ana metoda geçirilen parametreler. İş çalıştırmaları hakkında bilgi içeren parametreleri ayarlamak için görev parametresi değişkenlerini kullanın.

Örnekler

Aşağıdaki örnek, bir göreve JAR görevi ekler. JAR dosyasının yolu bir birim konumuna gider.

resources:
  jobs:
    my-jar-job:
      name: my-jar-job
      tasks:
        - task_key: my-jar-task
          spark_jar_task:
            main_class_name: org.example.com.Main
          libraries:
            - jar: /Volumes/main/default/my-volume/my-project-0.1.0-SNAPSHOT.jar

Not defteri görevi

Not defterini çalıştırmak için bu görevi kullanırsınız. İşler için bir Not Defteri Görevine bakın.

Not defteri görevi için aşağıdaki anahtarlar kullanılabilir. İlgili REST API nesne tanımı için bkz. notebook_task.

Key Türü Description
base_parameters Map Bu işin her bir çalıştırması için kullanılacak olan temel parametreler.
  • Çalıştırma, parametreler belirtilerek "jobs"a yapılan bir çağrıyla başlatılırsa veya "run-now" çağrısıyla başlatılırsa, iki parametre haritası birleştirilir.
  • base_parameters ve run-now içinde aynı anahtar belirtilirse, run-now'den değer kullanılır. İş çalıştırmaları hakkında bilgi içeren parametreleri ayarlamak için görev parametresi değişkenlerini kullanın.
  • Not defteri işin base_parameters veya run-now geçersiz kılma parametrelerinde belirtilmeyen bir parametre alırsa, not defterindeki varsayılan değer kullanılır. dbutils.widgets.get kullanarak bir not defterinde bu parametreleri alın.
notebook_path String Gerekli. Databricks çalışma alanında veya uzak depoda not defterinin yolu, örneğin /Users/user.name@databricks.com/notebook_to_run. Databricks çalışma alanında depolanan not defterleri için yol mutlak olmalı ve eğik çizgiyle başlamalıdır. Uzak bir depoda depolanan not defterleri için yolun göreli olması gerekir.
source String Not defterinin konum türü. Geçerli değerler: WORKSPACE ve GIT. olarak ayarlandığında WORKSPACE, not defteri yerel Databricks çalışma alanından alınır. GIT olarak ayarlandığında, not defteri git_source belirtilen bir Git deposundan çekilecek. Değer boşsa, GIT tanımlanmışsa git_source, aksi takdirde WORKSPACE kullanılır.
warehouse_id String Üzerinde defterin çalıştırılacağı ambar kimliği. Klasik SQL ambarları desteklenmez. Bunun yerine sunucusuz veya profesyonel SQL ambarları kullanın. SQL ambarlarının yalnızca SQL hücrelerini desteklediğini unutmayın. Not defteri SQL dışı hücreler içeriyorsa çalıştırma başarısız olur, bu nedenle bir hücrede Python (veya başka bir) kullanmanız gerekiyorsa sunucusuz kullanın.

Örnekler

Aşağıdaki örnek, bir işe bir not defteri görevi ekler ve adlı my_job_run_idbir iş parametresi ayarlar. Dağıtılacak not defterinin yolu, bu görevin bildirildiği yapılandırma dosyasına göredir. Görev, not defterini, Azure Databricks çalışma alanında bulunduğu konumdan alır.

resources:
  jobs:
    my-notebook-job:
      name: my-notebook-job
      tasks:
        - task_key: my-notebook-task
          notebook_task:
            notebook_path: ./my-notebook.ipynb
      parameters:
        - name: my_job_run_id
          default: '{{job.run_id}}'

Boru hattı görevi

İşlem hattını çalıştırmak için bu görevi kullanırsınız. Bkz. Spark Bildirimsel İşlem Hatları.

Boru hattı görevi için aşağıdaki anahtarlar kullanılabilir. İlgili REST API nesne tanımı için bkz. pipeline_task.

Key Türü Description
full_refresh Boolean True ise işlem hattının tam yenilemesi tetiklenir ve işlem hattındaki tüm veri kümeleri tamamen yeniden derlenir. Yanlış olması veya atlanması durumunda, yalnızca artımlı veriler işlenir. Ayrıntılar için bkz İşlem hattı yenileme semantiği.
pipeline_id String Gerekli. Çalıştırılacak işlem hattının kimliği. İşlem hattı zaten mevcut olmalıdır.

Örnekler

Aşağıdaki örnek işe bir işlem hattı görevi ekler. Bu görev belirtilen işlem hattını çalıştırır.

İpucu

İşlem hattını çalışma alanında açıp işlem hattının ayarlar sayfasının İşlem hattı ayrıntıları sekmesindeki İşlem Hattı Kimliği değerini kopyalayarak işlem hattının kimliğini alabilirsiniz.

resources:
  jobs:
    my-pipeline-job:
      name: my-pipeline-job
      tasks:
        - task_key: my-pipeline-task
          pipeline_task:
            pipeline_id: 11111111-1111-1111-1111-111111111111

Power BI görevi

Önemli

Power BI görev türü Genel Önizleme'dedir.

Power BI anlam modelinin (eski adı veri kümesi) yenilenmesini tetiklemek için bu görevi kullanın.

Power BI görevi için aşağıdaki anahtarlar kullanılabilir. İlgili REST API nesne tanımı için bkz. power_bi_task.

Databricks CLI sürüm 0.248.0'a eklendi

Key Türü Description
connection_resource_name String Gerekli. Databricks'ten Power BI'a kimlik doğrulaması için Unity Kataloğu bağlantısının adı.
power_bi_model String Gerekli. Güncelleştirilecek Power BI anlam modelinin (veri kümesi) adı.
refresh_after_update Boolean Güncelleştirme tamamlandıktan sonra Power BI anlam modelinin yenilenip yenilenmeyeceği. Varsayılan değer false'tur.
tables Sıra Power BI'a aktarılacak tabloların (her biri Harita olarak) listesi. Tablolara bakın.
warehouse_id String Power BI veri kaynağı olarak kullanılacak SQL ambarının kimliği.

Örnekler

Aşağıdaki örnek bir bağlantıyı, güncelleştirilecek Power BI modelini ve dışarı aktaracak Databricks tablosunu belirten bir Power BI görevini tanımlar.

resources:
  jobs:
    my_job:
      name: my_job
      tasks:
        - task_key: power_bi_task
          power_bi_task:
            connection_resource_name: 'connection_name'
            power_bi_model:
              workspace_name: 'workspace_name'
              model_name: 'model_name'
              storage_mode: 'DIRECT_QUERY'
              authentication_method: 'OAUTH'
              overwrite_existing: false
            refresh_after_update: false
            tables:
              - catalog: 'main'
                schema: 'tpch'
                name: 'customers'
                storage_mode: 'DIRECT_QUERY'
            warehouse_id: '1a111111a1111aa1'

Python-script görevi

Bu görevi bir Python dosyası çalıştırmak için kullanırsınız.

Python betik görevi için aşağıdaki anahtarlar kullanılabilir. İlgili REST API nesne tanımı için bkz. python_task.

Key Türü Description
parameters Sıra Python dosyasına aktarılacak parametreler. İş çalıştırmaları hakkında bilgi içeren parametreleri ayarlamak için görev parametresi değişkenlerini kullanın.
python_file String Gerekli. Yürütülecek Python dosyasının URI'si, örneğin /Users/someone@example.com/my-script.py. Databricks çalışma alanında depolanan python dosyaları için yol mutlak olmalı ve /ile başlamalıdır. Uzak depoda depolanan dosyalar için yol göreli olmalıdır. Bu alan, değişkenler gibi dinamik değer başvurularını desteklemez.
source String Python dosyasının konum türü. Geçerli değerler: WORKSPACE ve GIT. olarak ayarlandığında WORKSPACE, dosya yerel Databricks çalışma alanından alınır. GIT olarak ayarlandığında, dosya git_source içinde tanımlanan bir Git deposundan alınır. Değer boşsa, GIT tanımlanmışsa git_source, aksi takdirde WORKSPACE kullanılır.

Örnekler

Aşağıdaki örnek bir iş tanımına bir Python betiği görevi ekler. Dağıtılacak Python dosyasının yolu, bu görevin bildirildiği yapılandırma dosyasına göredir. Görev, Python dosyasını Azure Databricks çalışma alanındaki dağıtılan konumundan alır.

resources:
  jobs:
    my-python-script-job:
      name: my-python-script-job

      tasks:
        - task_key: my-python-script-task
          spark_python_task:
            python_file: ./my-script.py

Python tekerlek görevi

Python tekerleğini çalıştırmak için bu görevi kullanırsınız. Bkz. Bildirim temelli Otomasyon Paketlerini kullanarak Python tekerlek dosyası oluşturma.

Python tekerlek görevi için aşağıdaki tuşlar kullanılabilir. İlgili REST API nesne tanımı için bkz. python_wheel_task.

Key Türü Description
entry_point String Gerekli. Yürütme için adlandırılmış giriş noktası: fonksiyon veya sınıf. Meta verilerinde yoksa işlevi doğrudan paketten kullanarak $packageName.$entryPoint() yürütür.
named_parameters Map Python tekerlek görevine geçirecek adlandırılmış parametreler, Anahtar sözcük bağımsız değişkenleri olarak da adlandırılır. Adlandırılmış parametre, dize anahtarı ve dize değeri olan bir anahtar-değer çiftidir. Hem parameters hem de named_parameters belirtilmemelidir. belirtilirse named_parameters , parameters giriş noktası işlevine anahtar sözcük bağımsız değişkenleri olarak geçirilir.
package_name String Gerekli. Yürütülecek Python paketinin adı. Tüm bağımlılıklar ortama yüklenmelidir. Bu işlem paket bağımlılıklarını denetlemez veya yüklemez.
parameters Sıra Python wheel paketi görevine geçirecek parametreler, aynı zamanda Konumsal argümanlar olarak da bilinir. Her parametre bir dizedir. Belirtilirse, named_parameters belirtilmemelidir.

Örnekler

Aşağıdaki örnek bir işe Python tekerlek görevi ekler. Dağıtılacak Python tekerlek dosyasının yolu, bu görevin bildirildiği yapılandırma dosyasına göredir. Bkz. Bildirim Temelli Otomasyon Paketleri kitaplık bağımlılıkları.

resources:
  jobs:
    my-python-wheel-job:
      name: my-python-wheel-job
      tasks:
        - task_key: my-python-wheel-task
          python_wheel_task:
            entry_point: run
            package_name: my_package
          libraries:
            - whl: ./my_package/dist/my_package-*.whl

İş görevini çalıştır

Bu görevi başka bir işi çalıştırmak için kullanırsınız.

Bir çalışma görevi için aşağıdaki anahtarlar kullanılabilir. İlgili REST API nesne tanımı için bkz. run_job_task.

Key Türü Description
job_id Integer Gerekli. Çalıştırılacak işin ID'si. İş çalışma alanında zaten var olmalıdır.
job_parameters Map Çalıştırılan işe geçirilecek iş düzeyi parametreleri. Bu parametrelere işin görevleri içinden erişilebilir.
pipeline_params Map İşlem hattı görevi için parametreler. Yalnızca çalıştırılan iş bir pipeline task içeriyorsa kullanılır. Tam bir işlem hattı yenilemesi tetiklemek için full_refresh dahil edilebilir.

Örnekler

Aşağıdaki örnekte, ilk işi çalıştıran bir çalışma görevi, ikinci işte yer alır.

Bu örnek, çalıştırılacak işin kimliğini almak için bir değiştirme kullanır. Kullanıcı arabiriminden bir işin kimliğini almak için, çalışma alanında işi açın ve işin ayarlar sayfasının İş ayrıntıları sekmesindeki İş Kimliği değerinden kimliği kopyalayın.

resources:
  jobs:
    my-first-job:
      name: my-first-job
      tasks:
        - task_key: my-first-job-task
          new_cluster:
            spark_version: '13.3.x-scala2.12'
            node_type_id: 'i3.xlarge'
            num_workers: 2
          notebook_task:
            notebook_path: ./src/test.py
    my_second_job:
      name: my-second-job
      tasks:
        - task_key: my-second-job-task
          run_job_task:
            job_id: ${resources.jobs.my-first-job.id}

SQL görevi

Bu görevi bir SQL dosyası, sorgu veya uyarı çalıştırmak için kullanırsınız.

Bir SQL görevi için aşağıdaki anahtarlar kullanılabilir. İlgili REST API nesne tanımı için bkz. sql_task.

Key Türü Description
alert Map SQL uyarısı çalıştırma yapılandırması. Içerir:
  • alert_id (Dize): Gerekli. Çalıştırılacak SQL uyarısının kurallı tanımlayıcısı.
  • pause_subscriptions (boolean): Uyarı aboneliklerini duraklatma durumunu belirtir.
  • subscriptions (Sıra): Abonelik ayarlarının listesi.
dashboard Map SQL panosunun yenilenmesi için yapılandırma. Içerir:
  • dashboard_id (Dize): Gerekli. Yenilenen SQL panosunun kurallı tanımlayıcısı.
  • custom_subject (Metin Dizesi): Kontrol paneli abonelerine gönderilen e-posta için özelleştirilmiş konu.
  • pause_subscriptions (Boolean): Kontrol paneli aboneliklerinin duraklatılıp duraklatılmayacağı.
  • subscriptions (Sıra): Abonelik ayarlarının listesi.
file Map SQL dosyası çalıştırma yapılandırması. Içerir:
  • path (Dize): Gerekli. Çalışma alanı veya uzak depodaki SQL dosyasının yolu. Databricks çalışma alanına depolanan dosyalar için, yol mutlak olmalı ve slash işaretiyle başlamalıdır. Uzak depoda depolanan dosyalar için yol göreli olmalıdır.
  • source (Dize): SQL dosyasının konum türü. Geçerli değerler: WORKSPACE ve GIT.
parameters Map Görevin her çalıştırılmasında kullanılacak parametreler. SQL sorguları ve dosyaları söz dizimi {{parameter_key}}ile başvurarak bu parametreleri kullanabilir. İş çalıştırmaları hakkında bilgi içeren parametreleri ayarlamak için görev parametresi değişkenlerini kullanın.
query Map SQL sorgusu çalıştırma yapılandırması. Içerir:
  • query_id (Dize): Gerekli. Çalıştırılacak SQL sorgusunun kurallı tanımlayıcısı.
warehouse_id String Gerekli. SQL görevini çalıştırmak için kullanılacak SQL ambarının kimliği. SQL ambarı zaten var olmalıdır.

Örnekler

İpucu

SQL ambarının kimliğini almak için SQL ambarının ayarlar sayfasını açın, ardından Genel Bakış sekmesindeki Ad alanındaki ambarın adından sonra parantez içinde bulunan kimliği kopyalayın.

Aşağıdaki örnek işe bir SQL dosya görevi ekler. Bu SQL dosya görevi, belirtilen SQL dosyasını çalıştırmak için belirtilen SQL ambarını kullanır.

resources:
  jobs:
    my-sql-file-job:
      name: my-sql-file-job
      tasks:
        - task_key: my-sql-file-task
          sql_task:
            file:
              path: /Users/someone@example.com/hello-world.sql
              source: WORKSPACE
            warehouse_id: 1a111111a1111aa1

Aşağıdaki örnek işe bir SQL uyarı görevi ekler. Bu SQL uyarı görevi, belirtilen SQL uyarısını yenilemek için belirtilen SQL ambarını kullanır.

resources:
  jobs:
    my-sql-file-job:
      name: my-sql-alert-job
      tasks:
        - task_key: my-sql-alert-task
          sql_task:
            warehouse_id: 1a111111a1111aa1
            alert:
              alert_id: 11111111-1111-1111-1111-111111111111

Aşağıdaki örnek işe bir SQL sorgu görevi ekler. Bu SQL sorgusu görevi, belirtilen SQL sorgusunu çalıştırmak için belirtilen SQL ambarını kullanır.

resources:
  jobs:
    my-sql-query-job:
      name: my-sql-query-job
      tasks:
        - task_key: my-sql-query-task
          sql_task:
            warehouse_id: 1a111111a1111aa1
            query:
              query_id: 11111111-1111-1111-1111-111111111111

Diğer görev ayarları

Aşağıdaki görev ayarları, tüm görevler için davranışları yapılandırmanıza olanak sağlar. İlgili REST API nesne tanımları için bkz. görevler.

Key Türü Description
compute Map Görev düzeyi işlem yapılandırması. Her öğe şu öğeleri içerir:
  • hardware_accelerator (Dize): Sunucusuz GPU iş yükleri için donanım hızlandırıcı yapılandırması. Geçerli değerler: GPU_1xA10 ve GPU_8xH100.
depends_on Sıra İsteğe bağlı görev bağımlılıkları listesi. Her öğe şu öğeleri içerir:
  • task_key (Dize): Gerekli. Bu görevin anahtarına bağlıdır.
  • outcome (String): Yalnızca condition_task için belirtilebilir. Belirtilirse, bağımlı görev yalnızca koşul belirtilen sonuca ( true veya false) göre değerlendirilirse çalışır.
description String Görev için isteğe bağlı bir açıklama.
disable_auto_optimization Boolean Bu görev için sunucusuz otomatik optimizasyonu devre dışı bırakıp kapatılmadığı. Sunucusuz hesaplamada, otomatik optimizasyon başarısız bir görevi tekrar deneme politikanızdaki denemelere ek olarak tekrar deneyebilir, bu yüzden görevin en fazla bir kez çalıştırılması gerekiyorsa bunu ayarlayın true . Bu ayar klasik hesaplama üzerinde hiçbir etkisi yoktur. Bkz. yeniden denemelere izin vermemek için sunucusuz işlem otomatik optimizasyonunu yapılandırma.
email_notifications Map Çalıştırmanın ne zaman başladığını, tamamlandığını veya başarısız olduğunu bildirmek için isteğe bağlı bir e-posta adresleri kümesi. Her öğe şu öğeleri içerir:
  • on_start (Sıra): Çalıştırma başlatıldığında bildirilmesi gereken e-posta adreslerinin listesi.
  • on_success (Sıra): Bir çalıştırma başarıyla tamamlandığında bildirilmesi gereken e-posta adreslerinin listesi.
  • on_failure (Sıra): Çalıştırma başarısız olduğunda bildirilmesi gereken e-posta adreslerinin listesi.
  • on_duration_warning_threshold_exceeded (Sıra): Çalıştırma süresi eşiği aştığında bildirilmesi gereken e-posta adreslerinin listesi.
  • on_streaming_backlog_suceeded (Sıra): Herhangi bir akış için herhangi bir akış birikimi eşiği aşıldığında bildirilmesi gereken e-posta adreslerinin listesi.
environment_key String İşin environments yapılandırmasında tanımlanan bir ortamın anahtarı. Ortama özgü ayarları belirtmek için kullanılır. Bu alan, sunucusuz işlem kullanılırken Python betiği, Python tekerleği ve dbt görevleri için gereklidir.
existing_cluster_id String Bu görevin tüm çalıştırmaları için kullanılacak mevcut kümenin kimliği.
health Map Bu görevin sağlık izlemesi için, değerlendirilecek sağlık kurallarının listesi olan bir anahtar içeren rules isteğe bağlı belirtim.
job_cluster_key String İşin yapılandırmasında tanımlanan bir job_clusters iş kümesinin anahtarı.
libraries Sıra Görevi yürütecek kümeye yüklenecek isteğe bağlı kitaplık listesi. Her kitaplık, jar, egg, whl, pypi, maven, veya cran gibi requirements anahtarlarıyla bir eşleme olarak belirtilir.
max_retries Integer Görev başarısız olursa, yeniden deneme süresi için opsiyonel maksimum sınır belirlenebilir. Belirtilmezse, görev yeniden denenmeyecek.
min_retry_interval_millis Integer Başarısız çalıştırmanın başlangıcı ile sonraki yeniden deneme çalıştırması arasında milisaniye cinsinden isteğe bağlı en düşük aralık. Belirtilmezse, varsayılan değer 0'dır (hemen yeniden deneme).
new_cluster Map Her çalıştırma için yeni bir konfigürasyon belirtimi oluşturulacak. Bkz. küme.
notification_settings Map Bu görev için isteğe bağlı bildirim ayarları. Her öğe şu öğeleri içerir:
  • no_alert_for_skipped_runs (Boolean): Doğruysa, atlanan çalıştırmalar için bildirim göndermeyin.
  • no_alert_for_canceled_runs (Boolen): Eğer doğruysa, iptal edilen çalıştırmalar için bildirim gönderilmesin.
  • alert_on_last_attempt (Boole): True ise, yalnızca son yeniden deneme denemesinde bildirim gönderin.
retry_on_timeout Boolean Görev zaman aşımına uğradığında yeniden denenip denenmeyeceğini belirten isteğe bağlı bir ilke. Belirtilmezse, varsayılan olarak false'dur.
run_if String Görevin çalışması gerektiği durumu belirten isteğe bağlı bir değer. Geçerli değerler şunlardır:
  • ALL_SUCCESS (varsayılan): Tüm bağımlılıklar başarılı olursa çalıştırın.
  • AT_LEAST_ONE_SUCCESS: En az bir bağımlılık başarıyla tamamlandığında çalıştır.
  • NONE_FAILED: Hiçbir bağımlılık başarısız olmadıysa çalıştırın.
  • ALL_DONE: Sonuç ne olursa olsun tüm bağımlılıklar tamamlandığında komutunu çalıştırın.
  • AT_LEAST_ONE_FAILED: En az bir bağımlılık başarısız olursa komut çalıştırılır.
  • ALL_FAILED: Tüm bağımlılıklar başarısız olursa çalıştırın.
task_key String Gerekli. Görev için benzersiz bir ad. Bu alan, diğer görevlerin depends_on alanını kullanarak bu görevi referans alması için kullanılır.
timeout_seconds Integer Bu görevin her çalıştırması için isteğe bağlı bir süre sonu ayarlanır. 0 değeri zaman aşımı olmadığı anlamına gelir. Ayarlanmadıysa, küme yapılandırmasından varsayılan zaman aşımı kullanılır.
webhook_notifications Map Bir çalıştırma başladığında, tamamlandığında veya başarısız olduğunda bildirim almak için isteğe bağlı bir sistem hedefleri kümesi. Her öğe şu öğeleri içerir:
  • on_start (Sıra): Bir çalıştırma başlatıldığında bildirim hedeflerinin listesi.
  • on_success (Sıra): Bir çalıştırma tamamlandığında bildirim hedeflerinin listesi.
  • on_failure (Sıra): Çalıştırma başarısız olduğunda bildirim hedeflerinin listesi.
  • on_duration_warning_threshold_exceeded (Sıra): Çalıştırma süresi eşiği aştığında bildirim hedeflerinin listesi.
  • on_streaming_backlog_suceeded (Sıra): Herhangi bir akış için herhangi bir akış birikimi eşiği aşıldığında bildirilmesi gereken e-posta adreslerinin listesi.