Aracılığıyla paylaş


Databricks Varlık Paketlerinde işlere görev ekleme

Bu makalede, Databricks Varlık Paketleri'ndeki Azure Databricks işlerine ekleyebileceğiniz çeşitli görev türlerine örnekler sağlanmaktadır. Bkz . Databricks Varlık Paketleri nedir?.

Çoğu iş görevi türünün desteklenen ayarları arasında göreve özgü parametreler 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. Bkz. İş çalıştırmaları hakkındaki bağlamı iş görevlerine geçirme.

Not

İş görevi ayarlarını geçersiz kılabilirsiniz. Bkz . Databricks Varlık Paketleri'nde iş görevleri ayarlarını geçersiz kılma.

İ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ı.

Not defteri görevi

Not defterini çalıştırmak için bu görevi kullanırsınız.

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 dağıtılan konumundan alır. (Üç nokta, kısa süre için atlanmış içeriği gösterir.)

# ...
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}}"
        # ...
# ...

Bu görev için ayarlayabileceğiniz ek eşlemeler için, REST API başvurusunda POST/api/2.1/jobs/create içinde tanımlanan ve YAML biçiminde ifade edilen iş oluşturma işleminin istek yüküne bakıntasks > notebook_task. Ayrıca bkz. Görev türü seçeneklerinde "Not Defteri" ve Parametreleri Azure Databricks iş görevine geçirme.

Python betik görevi

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

Aşağıdaki örnek işe python betik 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ında dağıtılan konumundan alır. (Üç nokta, kısa süre için atlanmış içeriği gösterir.)

# ...
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
          # ...
# ...

Bu görev için ayarlayabileceğiniz ek eşlemeler için, REST API başvurusunda POST/api/2.1/jobs/create içinde tanımlanan ve YAML biçiminde ifade edilen iş oluşturma işleminin istek yüküne bakıntasks > spark_python_task. Ayrıca Bkz. Görev türü seçeneklerinde "Python betiği" ve Parametreleri Azure Databricks iş görevine geçirme.

Python tekerlek görevi

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

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 . Databricks Varlık Paketleri kitaplık bağımlılıkları. (Üç nokta, kısa süre için atlanmış içeriği gösterir.)

# ...
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
          # ...
# ...

Bu görev için ayarlayabileceğiniz ek eşlemeler için, REST API başvurusunda POST/api/2.1/jobs/create içinde tanımlanan ve YAML biçiminde ifade edilen iş oluşturma işleminin istek yüküne bakıntasks > python_wheel_task. Ayrıca bkz. Databricks Varlık Paketlerini kullanarak Python tekerlek dosyası geliştirme ve Görev türü seçeneklerinde "Python Tekerleği" ve Parametreleri Azure Databricks iş görevine geçirme.

JAR görevi

Jar çalıştırmak için bu görevi kullanırsınız. Yerel JAR kitaplıklarına veya çalışma alanı, Unity Kataloğu birimi veya dış bulut depolama konumuna başvurabilirsiniz. Bkz . Databricks Varlık Paketleri kitaplık bağımlılıkları.

Aşağıdaki örnek işe jar görevi ekler. JAR'ın yolu belirtilen birim konumuna yöneliktir. (Üç nokta, kısa süre için atlanmış içeriği gösterir.)

# ...
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
          # ...
# ...

Bu görev için ayarlayabileceğiniz ek eşlemeler için, REST API başvurusunda POST/api/2.1/jobs/create içinde tanımlanan ve YAML biçiminde ifade edilen iş oluşturma işleminin istek yüküne bakıntasks > spark_jar_task. Ayrıca bkz. Görev türü seçeneklerinde "JAR" ve Parametreleri Azure Databricks iş görevine geçirme.

SQL dosya görevi

Bu görevi, çalışma alanında veya uzak git deposunda bulunan bir SQL dosyasını çalıştırmak için kullanırsınız.

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. (Üç nokta, kısa süre için atlanmış içeriği gösterir.)

# ...
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
          # ...
# ...

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.

Bu görev için ayarlayabileceğiniz ek eşlemeler için, REST API başvurusunda POST/api/2.1/jobs/create içinde tanımlanan ve YAML biçiminde ifade edilen iş oluşturma işleminin istek yüküne bakıntasks > sql_task > file. Ayrıca Görev türü seçeneklerinde "SQL: Dosya" bölümüne bakın.

Delta Live Tables işlem hattı görevi

Delta Live Tables işlem hattını çalıştırmak için bu görevi kullanırsınız. Bkz . Delta Live Tables nedir?.

Aşağıdaki örnek işe Delta Live Tables işlem hattı görevi ekler. Bu Delta Live Tables işlem hattı görevi belirtilen işlem hattını çalıştırır. (Üç nokta, kısa süre için atlanmış içeriği gösterir.)

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

İş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.

Bu görev için ayarlayabileceğiniz ek eşlemeler için, REST API başvurusunda POST/api/2.1/jobs/create içinde tanımlanan ve YAML biçiminde ifade edilen iş oluşturma işleminin istek yüküne bakıntasks > pipeline_task. Ayrıca Görev türü seçeneklerinde "Delta Live Tables Pipeline" bölümüne bakın.

dbt görevi

Bu görevi bir veya daha fazla dbt komutu çalıştırmak için kullanırsınız. Bkz. dbt Cloud'a Bağlan.

Aşağıdaki örnek bir işe dbt görevi ekler. Bu dbt görevi, belirtilen dbt komutlarını çalıştırmak için belirtilen SQL ambarını kullanır. (Üç nokta, kısa süre için atlanmış içeriği gösterir.)

# ...
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"
          # ...
# ...

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.

Bu görev için ayarlayabileceğiniz ek eşlemeler için, REST API başvurusunda POST/api/2.1/jobs/create içinde tanımlanan ve YAML biçiminde ifade edilen iş oluşturma işleminin istek yüküne bakıntasks > dbt_task. Ayrıca Görev türü seçeneklerinde "dbt" bölümüne bakın.

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

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

Aşağıdaki örnek, ilk işi çalıştıran ikinci işte bir çalıştırma işi görevi içerir.

# ...
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}
  # ...

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.

Bu görev için ayarlayabileceğiniz ek eşlemeler için, REST API başvurusunda POST/api/2.1/jobs/create içinde tanımlanan ve YAML biçiminde ifade edilen iş oluşturma işleminin istek yüküne bakıntasks > run_job_task.