Menambahkan tugas ke pekerjaan di Bundel Otomatisasi Deklaratif

Halaman ini menyediakan informasi tentang cara menentukan tugas pekerjaan di Bundel Otomatisasi Deklaratif. Untuk informasi tentang tugas pekerjaan, lihat Mengonfigurasi dan mengedit tugas di Pekerjaan Lakeflow.

Penting

Bidang pekerjaan git_source dan bidang tugas source yang disetel menjadi GIT tidak direkomendasikan untuk bundel, karena jalur relatif lokal mungkin tidak menunjuk ke konten yang sama di repositori Git. Bundel mengharapkan bahwa tugas yang disebarkan memiliki file yang sama dengan salinan lokal dari asal penyebarannya.

Sebagai gantinya, kloning repositori secara lokal dan siapkan proyek bundel Anda dalam repositori ini, sehingga sumber tugas berada di dalam ruang kerja.

Mengonfigurasi tugas

Tentukan tugas untuk pekerjaan yang berada dalam satu bundel di kunci tasks untuk definisi pekerjaan. Contoh konfigurasi tugas untuk jenis tugas yang tersedia ada di bagian Pengaturan tugas . Untuk informasi tentang menentukan tugas dalam satu paket, lihat tugas.

Tips

Untuk menghasilkan konfigurasi sumber daya dengan cepat untuk pekerjaan yang ada menggunakan Databricks CLI, Anda dapat menggunakan perintah bundle generate job. Lihat perintah bundel.

Untuk mengatur nilai tugas, sebagian besar jenis tugas pekerjaan memiliki parameter khusus tugas, tetapi Anda juga dapat menentukan parameter pekerjaan yang diteruskan ke tugas. Referensi nilai dinamis didukung untuk parameter pekerjaan, yang memungkinkan pengoperan nilai yang khusus untuk menjalankan pekerjaan di antara tugas. Untuk informasi lengkap tentang cara meneruskan nilai tugas menurut jenis tugas, lihat Detail menurut jenis tugas.

Anda juga dapat mengganti pengaturan tugas pekerjaan secara umum dengan pengaturan untuk ruang kerja target. Lihat Mengambil alih dengan pengaturan target.

Contoh konfigurasi berikut menentukan pekerjaan dengan dua tugas buku catatan, dan meneruskan nilai tugas dari tugas pertama ke tugas kedua.

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 berisi kode berikut, yang menetapkan nilai tugas untuk message kunci:

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

Objek input_notebook.ipynb mengambil nilai dari parameter received_message, yang diatur dalam konfigurasi untuk tugas:

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

Pengaturan tugas

Bagian ini berisi pengaturan dan contoh untuk setiap jenis tugas pekerjaan.

Tugas peringatan (v2)

Tugas peringatan (v2) mengevaluasi peringatan Databricks dan mengirim pemberitahuan kepada pelanggan terdaftar saat alert_task bidang ada. Untuk informasi selengkapnya tentang tugas pemberitahuan, lihat Tugas pemberitahuan SQL untuk pekerjaan.

Kunci berikut tersedia untuk tugas notifikasi (v2). Untuk definisi objek REST API yang sesuai, lihat alert_task.

Ditambahkan dalam Databricks CLI versi 0.299.0

Key Tipe Description
alert_id String ID peringatan yang akan dievaluasi. Hanya satu dari alert_id atau workspace_path yang dapat ditentukan untuk mengidentifikasi pemberitahuan.
subscribers Urutan Daftar pelanggan untuk menerima notifikasi hasil evaluasi peringatan setelah tugas peringatan selesai. Jumlah langganan dibatasi hingga 100. Setiap pelanggan adalah objek dengan salah satu dari: destination_id (String) untuk tujuan pemberitahuan, atau user_name (String) untuk alamat email pengguna ruang kerja.
warehouse_id String Pengaturan gudang yang digunakan oleh tugas peringatan.
workspace_path String Jalur ke file pemberitahuan di ruang kerja. Jalur harus dimulai dengan "/Ruang Kerja" dan harus berupa jalur yang dinormalisasi. Hanya satu dari alert_id atau workspace_path yang dapat ditentukan untuk mengidentifikasi pemberitahuan.

Examples

Contoh berikut menambahkan tugas notifikasi ke pekerjaan:

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

Membersihkan tugas buku catatan kamar

Tugas buku catatan ruang bersih menjalankan buku catatan tersebut ketika bidang clean_rooms_notebook_task ada. Untuk informasi tentang kamar bersih, lihat Apa itu Azure Databricks Clean Rooms?.

Kunci berikut tersedia untuk tugas buku catatan ruang bersih. Untuk definisi objek REST API yang sesuai, lihat clean_rooms_notebook_task.

Ditambahkan dalam Databricks CLI versi 0.237.0

Key Tipe Description
clean_room_name String Dibutuhkan. Ruang bersih tempat buku catatan berada.
etag String Checksum untuk memvalidasi kesegaran sumber daya notebook. Ini dapat diambil dengan memanggil aset kamar bersih mendapatkan operasi.
object Map Parameter dasar yang akan digunakan untuk pekerjaan buku catatan cleanroom.
notebook_name String Dibutuhkan. Nama notebook yang sedang dijalankan.

Tugas kondisi

condition_task memungkinkan Anda menambahkan tugas dengan logika kondisi if/else ke proyek Anda. Tugas mengevaluasi kondisi yang dapat digunakan untuk mengontrol eksekusi tugas lain. Tugas kondisi tidak memerlukan kluster untuk dijalankan dan tidak mendukung percobaan ulang atau pemberitahuan. Untuk informasi selengkapnya tentang tugas kondisi if/else, lihat Menambahkan logika pencabangan ke pekerjaan dengan tugas If/else.

Kunci berikut tersedia untuk tugas berbasis kondisi. Untuk definisi objek REST API yang sesuai, lihat condition_task.

Ditambahkan dalam Databricks CLI versi 0.229.0 atau yang lebih baru

Key Tipe Description
left String Dibutuhkan. Operan kiri dalam konteks kondisi. Dapat berupa nilai string atau status pekerjaan atau referensi nilai dinamis seperti {{job.repair_count}} atau {{tasks.task_key.values.output}}.
op String Dibutuhkan. Operator yang digunakan untuk perbandingan. Nilai yang valid adalah: EQUAL_TO, , NOT_EQUALGREATER_THAN, GREATER_THAN_OR_EQUAL, LESS_THAN, LESS_THAN_OR_EQUAL.
right String Dibutuhkan. Operan kanan kondisi. Dapat berupa nilai string atau status pekerjaan atau referensi nilai dinamis.

Examples

Contoh berikut berisi tugas bersyarat dan tugas buku catatan, di mana tugas buku catatan hanya dijalankan jika jumlah perbaikan tugas kurang dari 5.

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

Tugas Dashboard

Anda menggunakan tugas ini untuk me-refresh dasbor dan mengirim rekam jepret ke pelanggan. Untuk informasi selengkapnya tentang dasbor dalam bundel, lihat dasbor.

Kunci berikut tersedia untuk tugas dasbor. Untuk definisi objek REST API yang sesuai, lihat dashboard_task.

Ditambahkan dalam Databricks CLI versi 0.248.0

Key Tipe Description
dashboard_id String Dibutuhkan. Pengidentifikasi dasbor yang akan diperbarui. Dasbor harus sudah ada.
subscription Map Konfigurasi langganan untuk mengirim rekam jepret dasbor. Setiap objek langganan dapat menentukan pengaturan tujuan tempat mengirim rekam jepret setelah refresh dasbor selesai. Lihat langganan.
warehouse_id String ID gudang untuk menjalankan dasbor sesuai jadwal. Jika tidak ditentukan, gudang bawaan dari dasbor akan digunakan.

Examples

Contoh berikut menambahkan tugas dashboard ke sebuah job. Saat pekerjaan dijalankan, dasbor dengan ID yang ditentukan di-refresh.

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

tugas dbt

Anda menggunakan tugas ini untuk menjalankan satu atau beberapa perintah dbt. Untuk informasi selengkapnya tentang dbt, lihat Menyambungkan ke dbt Cloud.

Kunci berikut tersedia untuk tugas dbt. Untuk definisi objek REST API yang sesuai, lihat dbt_task.

Ditambahkan dalam Databricks CLI versi 0.229.0 atau yang lebih baru

Key Tipe Description
catalog String Nama katalog yang akan digunakan. Nilai katalog hanya dapat ditentukan jika warehouse_id ditentukan. Bidang ini memerlukan dbt-databricks >= 1.1.1.
commands Urutan Dibutuhkan. Daftar perintah dbt untuk dijalankan secara berurutan. Setiap perintah harus berupa perintah dbt lengkap (misalnya, dbt deps, , dbt seeddbt run, dbt test). Maksimum hingga 10 perintah dapat disediakan.
profiles_directory String Jalur ke direktori yang berisi file profiles.yml dbt. Hanya dapat ditentukan jika warehouse_id tidak ditentukan. Jika tidak ada warehouse_id yang dispesifikasikan dan folder ini tidak diatur, maka direktori akar akan digunakan.
project_directory String Jalur ke direktori yang berisi proyek dbt. Jika tidak ditentukan, secara otomatis ke direktori induk repositori atau ruang kerja. Untuk proyek yang disimpan di ruang kerja Databricks, jalur harus absolut dan dimulai dengan tanda garis miring. Untuk proyek di repositori jarak jauh, jalur harus relatif.
schema String Skema yang akan menjadi tujuan penulisan. Parameter ini hanya digunakan ketika warehouse_id juga disediakan. Jika tidak disediakan, skema default digunakan.
source String Jenis lokasi proyek dbt. Nilai yang berlaku adalah WORKSPACE atau GIT. Ketika disetel ke WORKSPACE, proyek akan diambil dari ruang kerja Databricks. Ketika diatur ke GIT, proyek akan diambil dari repositori Git yang ditentukan dalam git_source. Jika kosong, tugas akan menggunakan GIT jika git_source ditentukan dan WORKSPACE sebaliknya.
warehouse_id String ID gudang SQL yang digunakan untuk menjalankan perintah dbt. Jika tidak ditentukan, gudang default akan digunakan.

Examples

Contoh berikut menambahkan tugas dbt ke proyek. Tugas dbt ini menggunakan gudang SQL yang ditentukan untuk menjalankan perintah dbt yang ditentukan.

Untuk mendapatkan ID gudang SQL, buka halaman pengaturan gudang SQL, lalu salin ID yang ditemukan di tanda kurung setelah nama gudang di bidang Nama pada tab Gambaran Umum .

Tips

Bundel Otomatisasi Deklaratif mengandung templat proyek dbt-sql yang menentukan pekerjaan dengan tugas dbt, serta profil dbt untuk pekerjaan dbt yang disebarkan. Untuk informasi tentang templat Bundel Otomatisasi Deklaratif, lihat Templat bundel default.

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'

Untuk setiap tugas

for_each_task memungkinkan Anda menambahkan tugas dengan loop foreach ke pekerjaan Anda. Tugas menjalankan tugas bertumpuk untuk setiap input yang diberikan. Untuk informasi selengkapnya tentang for_each_task, lihat Menggunakan tugas For each untuk menjalankan tugas lain dalam perulangan.

Kunci berikut tersedia untuk for_each_task. Untuk definisi objek REST API yang sesuai, lihat for_each_task.

Ditambahkan dalam Databricks CLI versi 0.229.0 atau yang lebih baru

Key Tipe Description
concurrency Integer Jumlah maksimum perulangan tugas yang dapat berjalan bersamaan. Jika tidak ditentukan, semua iterasi dapat berjalan secara paralel tunduk pada batas kluster dan ruang kerja.
inputs String Dibutuhkan. Data masukan untuk perulangan. Ini bisa berupa string JSON atau referensi ke parameter array. Setiap elemen dalam array akan diteruskan ke satu iterasi tugas berlapis.
task Map Dibutuhkan. Definisi tugas berlapis yang akan dijalankan untuk setiap input. Objek ini berisi spesifikasi tugas lengkap termasuk task_key dan jenis tugas (misalnya, notebook_task, python_wheel_task, dll.).

Examples

Contoh berikut menambahkan for_each_task ke tugas, yang mana ia mengulangi nilai-nilai dari tugas lain dan memprosesnya.

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

Tugas JAR

Anda menggunakan tugas ini untuk menjalankan file JAR. Anda dapat mereferensikan pustaka JAR lokal atau yang ada di ruang kerja, volume Katalog Unity, atau lokasi penyimpanan cloud eksternal. Lihat file JAR (Java atau Scala).

Untuk detail tentang cara mengkompilasi dan menyebarkan file JAR Scala pada kluster yang mendukung Katalog Unity dalam mode akses standar, lihat Tutorial: Menjalankan kode Scala pada komputasi tanpa server.

Kunci berikut tersedia untuk tugas JAR. Untuk definisi objek REST API yang sesuai, lihat jar_task.

Ditambahkan dalam Databricks CLI versi 0.229.0 atau yang lebih baru

Key Tipe Description
jar_uri String Deprecated. URI JAR yang akan dijalankan. Jalur penyimpanan DBFS dan cloud didukung. Bidang ini tidak digunakan lagi dan tidak boleh digunakan. Sebagai gantinya, gunakan bidang libraries untuk menentukan dependensi JAR.
main_class_name String Dibutuhkan. Nama lengkap kelas yang berisi metode utama yang akan dijalankan. Kelas ini harus terkandung dalam file JAR yang disediakan sebagai pustaka. Kode harus digunakan SparkContext.getOrCreate untuk mendapatkan konteks Spark; jika tidak, eksekusi pekerjaan gagal.
parameters Urutan Parameter diteruskan ke metode utama. Gunakan variabel parameter tugas untuk mengatur parameter yang berisi informasi tentang eksekusi pekerjaan.

Examples

Contoh berikut menambahkan tugas JAR ke pekerjaan. Jalur untuk JAR menuju lokasi volume.

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

Tugas buku catatan

Anda menggunakan tugas ini untuk menjalankan buku catatan. Lihat Tugas Notebook untuk pekerjaan.

Kunci berikut ini tersedia untuk tugas buku catatan. Untuk definisi objek REST API yang sesuai, lihat notebook_task.

Ditambahkan dalam Databricks CLI versi 0.229.0 atau yang lebih baru

Key Tipe Description
base_parameters Map Parameter dasar yang digunakan untuk setiap eksekusi pekerjaan ini.
  • Jika eksekusi dimulai oleh panggilan ke fungsi jobs atau run-now dengan parameter yang ditentukan, dua set parameter digabungkan.
  • Jika kunci yang sama ditentukan dalam base_parameters dan di run-now, nilai dari run-now digunakan. Gunakan variabel parameter tugas untuk mengatur parameter yang berisi informasi tentang eksekusi pekerjaan.
  • Jika notebook mengambil parameter yang tidak ditentukan dalam parameter pekerjaan base_parameters atau parameter penimpaan run-now, akan menggunakan nilai default dari notebook. Ambil parameter ini dalam buku catatan menggunakan dbutils.widgets.get.
notebook_path String Dibutuhkan. Jalur buku catatan di ruang kerja Databricks atau repositori jarak jauh, misalnya /Users/user.name@databricks.com/notebook_to_run. Untuk notebook yang disimpan di ruang kerja Databricks, jalur harus absolut dan dimulai dengan garis miring. Untuk notebook yang disimpan di repositori jarak jauh, jalur harus relatif.
source String Jenis lokasi buku catatan. Nilai yang berlaku adalah WORKSPACE atau GIT. Jika diatur ke WORKSPACE, notebook akan diambil dari ruang kerja Databricks lokal. Ketika diatur ke GIT, notebook akan diambil dari repositori Git yang ditentukan dalam git_source. Jika nilai kosong, tugas akan menggunakan GIT jika git_source ditentukan dan akan menggunakan WORKSPACE jika tidak.
warehouse_id String ID gudang tempat menjalankan notebook. Gudang SQL klasik tidak didukung. Gunakan gudang SQL tanpa server atau pro sebagai gantinya. Perhatikan bahwa gudang SQL hanya mendukung sel SQL. Jika buku catatan berisi sel non-SQL, eksekusi akan gagal, jadi jika Anda perlu menggunakan Python (atau lainnya) dalam sel, gunakan tanpa server.

Examples

Contoh berikut menambahkan tugas buku catatan ke pekerjaan dan mengatur parameter pekerjaan bernama my_job_run_id. Jalur untuk notebook yang akan disebarkan relatif terhadap berkas konfigurasi di mana tugas ini dideklarasikan. Proses mengambil buku catatan dari lokasi tempat penyebarannya di dalam ruang kerja Azure Databricks.

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}}'

Tugas alur

Anda menggunakan tugas ini untuk menjalankan alur. Lihat Alur Deklaratif Lakeflow Spark.

Kunci berikut tersedia untuk tugas pipeline. Untuk definisi objek REST API yang sesuai, lihat pipeline_task.

Ditambahkan dalam Databricks CLI versi 0.229.0 atau yang lebih baru

Key Tipe Description
full_refresh Boolean Apabila bernilai benar, penyegaran penuh pada jalur pemrosesan akan dipicu, yang akan menghitung ulang semua dataset dalam jalur pemrosesan. Jika salah atau dihilangkan, hanya data tambahan yang diproses. Untuk detailnya, lihat Semantik penyegaran pipeline.
pipeline_id String Dibutuhkan. ID alur yang akan dijalankan. Alur harus sudah ada.

Examples

Contoh berikut menambahkan tugas alur ke pekerjaan. Tugas ini menjalankan jalur pemrosesan yang ditentukan.

Tips

Anda bisa mendapatkan ID alur dengan membuka alur di ruang kerja dan menyalin nilai ID Alur pada tab Detail alur dari halaman pengaturan alur.

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

Tugas Power BI

Penting

Tipe tugas Power BI ada di Pratinjau Umum.

Gunakan tugas ini untuk memicu refresh model semantik Power BI (sebelumnya dikenal sebagai himpunan data).

Kunci berikut ini tersedia untuk tugas Power BI. Untuk definisi objek REST API yang sesuai, lihat power_bi_task.

Ditambahkan dalam Databricks CLI versi 0.248.0

Key Tipe Description
connection_resource_name String Dibutuhkan. Nama koneksi Unity Catalog untuk mengautentikasi dari Databricks ke Power BI.
power_bi_model String Dibutuhkan. Nama model semantik Power BI (himpunan data) yang akan diperbarui.
refresh_after_update Boolean Apakah akan me-refresh model semantik Power BI setelah pembaruan selesai. Secara default diatur ke false.
tables Urutan Daftar tabel (masing-masing sebagai Peta) yang akan diekspor ke Power BI. Lihat tabel.
warehouse_id String ID gudang SQL untuk digunakan sebagai sumber data Power BI.

Examples

Contoh berikut menentukan tugas Power BI, yang menentukan koneksi, model Power BI untuk diperbarui, dan tabel Databricks untuk diekspor.

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'

Tugas Pembuatan Skrip Python

Anda menggunakan tugas ini untuk menjalankan file Python.

Kunci berikut tersedia untuk tugas skrip Python. Untuk definisi objek REST API yang sesuai, lihat python_task.

Ditambahkan dalam Databricks CLI versi 0.229.0 atau yang lebih baru

Key Tipe Description
parameters Urutan Parameter yang akan diteruskan ke file Python. Gunakan variabel parameter tugas untuk mengatur parameter yang berisi informasi tentang eksekusi pekerjaan.
python_file String Dibutuhkan. URI file Python yang akan dijalankan, misalnya /Users/someone@example.com/my-script.py. Untuk file python yang disimpan di ruang kerja Databricks, jalur harus absolut dan dimulai dengan /. Untuk file yang disimpan dalam repositori jarak jauh, jalur harus relatif. Bidang ini tidak mendukung referensi nilai dinamis seperti variabel.
source String Jenis lokasi file Python. Nilai yang berlaku adalah WORKSPACE atau GIT. Ketika diatur ke WORKSPACE, file akan diambil dari ruang kerja Databricks lokal. Ketika diatur ke GIT, file akan diambil dari repositori Git yang ditentukan dalam git_source. Jika nilai kosong, tugas akan menggunakan GIT jika git_source ditentukan dan akan menggunakan WORKSPACE jika tidak.

Examples

Contoh berikut menambahkan tugas skrip Python ke pekerjaan. Jalur untuk file Python yang akan disebarkan relatif terhadap file konfigurasi tempat tugas ini dideklarasikan. Tugas ini mengambil file Python dari lokasi yang sudah dideploy di ruang kerja Azure Databricks.

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

Tugas roda Python

Anda menggunakan tugas ini untuk menjalankan roda Python. Lihat Membuat file roda Python menggunakan Bundel Otomatisasi Deklaratif.

Kunci berikut tersedia untuk tugas roda Python. Untuk definisi objek REST API yang sesuai, lihat python_wheel_task.

Ditambahkan dalam Databricks CLI versi 0.229.0 atau yang lebih baru

Key Tipe Description
entry_point String Dibutuhkan. Titik masuk bernama untuk dijalankan: fungsi atau kelas. Jika tidak ada dalam metadata paket, itu menjalankan fungsi dari paket langsung menggunakan $packageName.$entryPoint().
named_parameters Map Parameter bernama untuk diteruskan ke tugas roda Python, juga dikenal sebagai argumen Kata Kunci. Parameter bernama adalah pasangan kunci-nilai di mana kunci dan nilainya berupa string. Keduanya parameters dan named_parameters tidak dapat ditentukan. Jika named_parameters ditentukan, parameters diteruskan sebagai argumen kata kunci ke fungsi titik masuk.
package_name String Dibutuhkan. Nama paket Python yang akan dijalankan. Semua dependensi harus diinstal di lingkungan. Ini tidak memeriksa atau menginstal dependensi paket apa pun.
parameters Urutan Parameter yang akan diteruskan ke tugas roda Python, juga dikenal sebagai argumen Posisional. Setiap parameter adalah string. Jika ditentukan, named_parameters tidak boleh ditentukan.

Examples

Contoh berikut menambahkan tugas roda Python ke pekerjaan. Jalur untuk file wheel Python yang akan disebarkan adalah relatif terhadap file konfigurasi di mana tugas ini dideklarasikan. Lihat Dependensi pustaka Bundel Otomatisasi Deklaratif.

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

Jalankan tugas pekerjaan

Anda menggunakan tugas ini untuk menjalankan pekerjaan lain.

Kunci berikut tersedia untuk tugas menjalankan pekerjaan. Untuk definisi objek REST API yang sesuai, lihat run_job_task.

Ditambahkan dalam Databricks CLI versi 0.229.0 atau yang lebih baru

Key Tipe Description
job_id Integer Dibutuhkan. ID pekerjaan yang akan dijalankan. Pekerjaan harus sudah ada di ruang kerja.
job_parameters Map Parameter tingkat pekerjaan untuk diteruskan ke pekerjaan yang sedang dijalankan. Parameter ini dapat diakses dalam tugas pekerjaan.
pipeline_params Map Parameter untuk tugas alur pemrosesan. Digunakan hanya jika pekerjaan yang dijalankan berisi tugas alur. Dapat menyertakan full_refresh untuk memicu refresh penuh sebuah pipa.

Examples

Contoh berikut berisi tugas menjalankan pekerjaan di pekerjaan kedua yang memicu pekerjaan pertama.

Contoh ini menggunakan substitusi untuk mengambil ID tugas yang akan dijalankan. Untuk mendapatkan ID pekerjaan dari UI, buka pekerjaan di ruang kerja dan salin ID dari nilai ID Pekerjaan di tab Detail pekerjaan di halaman pengaturan pekerjaan.

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}

Tugas SQL

Anda menggunakan tugas ini untuk menjalankan file, kueri, atau pemberitahuan SQL.

Kunci berikut tersedia untuk tugas SQL. Untuk definisi objek REST API yang sesuai, lihat sql_task.

Ditambahkan dalam Databricks CLI versi 0.229.0 atau yang lebih baru

Key Tipe Description
alert Map Konfigurasi untuk menjalankan pemberitahuan SQL. Berisi:
  • alert_id (String): Diperlukan. Pengidentifikasi kanonis dari peringatan SQL yang akan dijalankan.
  • pause_subscriptions (Boolean): Apakah akan menjeda langganan pemberitahuan.
  • subscriptions (Urutan): Daftar pengaturan langganan.
dashboard Map Konfigurasi untuk me-refresh dasbor SQL. Berisi:
  • dashboard_id (String): Diperlukan. Pengidentifikasi standar dasbor SQL yang akan diperbarui.
  • custom_subject (String): Judul kustom untuk email yang dikirim ke pelanggan papan kendali.
  • pause_subscriptions (Boolean): Apakah akan menjeda langganan dasbor.
  • subscriptions (Urutan): Daftar pengaturan langganan.
file Map Konfigurasi untuk menjalankan file SQL. Berisi:
  • path (String): Diperlukan. Jalur file SQL di ruang kerja atau repositori jarak jauh. Untuk file yang disimpan di ruang kerja Databricks, jalur harus absolut dan dimulai dengan garis miring. Untuk file yang disimpan dalam repositori jarak jauh, jalur harus relatif.
  • source (String): Jenis lokasi file SQL. Nilai yang berlaku adalah WORKSPACE atau GIT.
parameters Map Parameter yang akan digunakan untuk setiap eksekusi tugas ini. Kueri dan file SQL dapat menggunakan parameter ini dengan mereferensikannya dengan sintaks {{parameter_key}}. Gunakan variabel parameter tugas untuk mengatur parameter yang berisi informasi tentang eksekusi pekerjaan.
query Map Konfigurasi untuk menjalankan kueri SQL. Berisi:
  • query_id (String): Diperlukan. Pengidentifikasi kanonis kueri SQL yang akan dijalankan.
warehouse_id String Dibutuhkan. ID gudang SQL yang akan digunakan untuk menjalankan tugas SQL. Gudang SQL harus sudah ada.

Examples

Tips

Untuk mendapatkan ID gudang SQL, buka halaman pengaturan gudang SQL, lalu salin ID yang ditemukan di tanda kurung setelah nama gudang di bidang Nama pada tab Gambaran Umum .

Contoh berikut menambahkan tugas file SQL ke pekerjaan. Tugas file SQL ini menggunakan gudang SQL yang ditentukan untuk menjalankan file SQL yang ditentukan.

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

Contoh berikut menambahkan tugas pemberitahuan SQL ke pekerjaan. Tugas pemberitahuan SQL ini menggunakan gudang SQL yang ditentukan untuk me-refresh pemberitahuan SQL yang ditentukan.

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

Contoh berikut menambahkan tugas kueri SQL ke pekerjaan. Tugas kueri SQL ini menggunakan gudang SQL yang ditentukan untuk menjalankan kueri SQL yang ditentukan.

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

Pengaturan tugas lainnya

Pengaturan tugas berikut memungkinkan Anda mengonfigurasi perilaku untuk semua tugas. Untuk definisi objek REST API yang sesuai, lihat tugas.

Key Tipe Description
compute Map Konfigurasi komputasi tingkat tugas. Setiap item berisi:
  • hardware_accelerator (String): Konfigurasi akselerator perangkat keras untuk beban kerja GPU tanpa server. Nilai yang berlaku adalah GPU_1xA10 atau GPU_8xH100.
depends_on Urutan Daftar dependensi tugas opsional. Setiap item berisi:
  • task_key (String): Diperlukan. Kunci dari tugas yang menjadi dasar tugas ini.
  • outcome (String): Hanya dapat ditentukan untuk condition_task. Jika ditentukan, tugas dependen hanya akan berjalan jika kondisi dievaluasi menjadi hasil yang ditentukan (baik true atau false).
description String Deskripsi opsional untuk tugas tersebut.
disable_auto_optimization Boolean Apakah akan menonaktifkan pengoptimalan otomatis untuk tugas ini. Jika true, pengoptimalan otomatis seperti eksekusi kueri adaptif akan dinonaktifkan.
email_notifications Map Sekumpulan alamat email opsional untuk diberi tahu saat eksekusi dimulai, selesai, atau gagal. Setiap item berisi:
  • on_start (Urutan): Daftar alamat email yang akan diberi tahu saat proses dimulai.
  • on_success (Urutan): Daftar alamat email yang akan diberi tahu saat eksekusi berhasil diselesaikan.
  • on_failure (Urutan): Daftar alamat email yang akan diberi tahu saat eksekusi gagal.
  • on_duration_warning_threshold_exceeded (Urutan): Daftar alamat email yang akan diberi tahu saat durasi eksekusi melebihi ambang batas.
  • on_streaming_backlog_suceeded (Urutan): Daftar alamat email untuk diberi tahu ketika ambang batas backlog streaming terlampaui untuk proses streaming apa pun.
environment_key String Kunci lingkungan yang ditentukan dalam konfigurasi pekerjaan environments . Digunakan untuk menentukan pengaturan khusus lingkungan. Bidang ini diperlukan untuk skrip Python, roda Python, dan tugas dbt saat menggunakan komputasi tanpa server.
existing_cluster_id String ID kluster yang ada yang akan digunakan untuk semua eksekusi tugas ini.
health Map Spesifikasi opsional untuk pemantauan kesehatan tugas ini yang menyertakan rules kunci, yang merupakan daftar aturan kesehatan untuk dievaluasi.
job_cluster_key String Kunci kluster pekerjaan yang ditentukan dalam konfigurasi pekerjaan job_clusters .
libraries Urutan Daftar pustaka opsional yang akan diinstal pada kluster yang akan menjalankan tugas. Setiap pustaka ditentukan sebagai peta dengan kunci seperti jar, , egg, whlpypi, maven, cran, atau requirements.
max_retries Integer Jumlah maksimum opsional untuk mencoba kembali tugas jika gagal. Jika tidak ditentukan, tugas tidak akan dicoba kembali.
min_retry_interval_millis Integer Interval minimal opsional dalam milidetik antara awal eksekusi yang gagal dan eksekusi coba lagi berikutnya. Jika tidak ditentukan, defaultnya adalah 0 (coba lagi segera).
new_cluster Map Spesifikasi untuk kluster baru yang akan dibuat untuk setiap eksekusi tugas ini. Lihat kluster.
notification_settings Map Pengaturan pemberitahuan opsional untuk tugas ini. Setiap item berisi:
  • no_alert_for_skipped_runs (Boolean): Jika bernilai benar, jangan kirim pemberitahuan untuk proses yang dilewati.
  • no_alert_for_canceled_runs (Boolean): Jika benar, jangan kirim pemberitahuan untuk eksekusi yang dibatalkan.
  • alert_on_last_attempt (Boolean): Jika benar, kirim pemberitahuan hanya pada upaya coba lagi terakhir.
retry_on_timeout Boolean Kebijakan opsional untuk menentukan apakah akan mencoba kembali tugas ketika waktu habis. Jika tidak ditentukan, default ke false.
run_if String Nilai opsional yang menunjukkan kondisi di mana tugas harus dijalankan. Nilai yang valid adalah:
  • ALL_SUCCESS (default): Jalankan jika semua dependensi berhasil.
  • AT_LEAST_ONE_SUCCESS: Jalankan jika setidaknya satu dependensi berhasil.
  • NONE_FAILED: Jalankan jika tidak ada dependensi yang gagal.
  • ALL_DONE: Jalankan ketika semua dependensi selesai, terlepas dari hasilnya.
  • AT_LEAST_ONE_FAILED: Jalankan jika setidaknya satu dependensi gagal.
  • ALL_FAILED: Jalankan jika semua dependensi gagal.
task_key String Dibutuhkan. Nama unik untuk tugas tersebut. Bidang ini digunakan untuk merujuk ke tugas ini dari tugas lain menggunakan bidang depends_on.
timeout_seconds Integer Batas waktu opsional diterapkan ke setiap eksekusi tugas ini. Nilai 0 berarti tidak ada batas waktu. Jika tidak diatur, batas waktu default dari konfigurasi kluster digunakan.
webhook_notifications Map Sekumpulan tujuan sistem opsional untuk diberi tahu saat eksekusi dimulai, selesai, atau gagal. Setiap item berisi:
  • on_start (Urutan): Daftar tujuan notifikasi saat proses berjalan dimulai.
  • on_success (Urutan): Daftar tujuan pemberitahuan saat pelaksanaan selesai.
  • on_failure (Urutan): Daftar tujuan pemberitahuan saat eksekusi gagal.
  • on_duration_warning_threshold_exceeded (Urutan): Daftar tujuan pemberitahuan saat durasi eksekusi melebihi ambang batas.
  • on_streaming_backlog_suceeded (Urutan): Daftar alamat email untuk diberi tahu ketika ambang batas backlog streaming terlampaui untuk proses streaming apa pun.