Bagikan melalui


tugas dbt untuk pekerjaan

Gunakan tugas dbt untuk mengonfigurasi dan menjalankan proyek dbt di Azure Databricks.

Penting

Saat tugas dbt berjalan, Databricks menyuntikkan untuk prinsipal yang DBT_ACCESS_TOKEN dikonfigurasi di bidang Jalankan Sebagai .

Mengonfigurasi tugas dbt

dbt Tambahkan tugas dari tab Tugas di UI Pekerjaan dengan melakukan hal berikut:

  1. Di menu drop-down Jenis , .

  2. Di menu drop-down Sumber , Anda dapat Ruang Kerja untuk menggunakan proyek dbt yang terletak di folder ruang kerja Azure Databricks atau penyedia Git untuk proyek yang terletak di repositori Git jarak jauh.

    • Jika Anda selectRuang Kerja, gunakan navigator file yang disediakan untuk select direktori Proyek .

    • Jika Anda selectpenyedia Git, klik Edit untuk memasukkan informasi Git untuk repositori proyek. Lihat Menggunakan Git dengan pekerjaan.

      Jika proyek Anda tidak berada di direktori akar repositori, gunakan bidang Direktori proyek untuk menentukan jalur ke dalamnya.

  3. Kotak teks perintah dbt default ke perintah dbt deps, dbt seed, dan dbt run. Perintah yang disediakan berjalan secara berurutan. Tambahkan, remove, atau edit bidang ini seperlunya untuk alur kerja Anda. Lihat Apa itu perintah dbt?.

  4. Di gudang SQL, select gudang SQL untuk menjalankan SQL yang dihasilkan oleh dbt. Menu drop-down gudang SQL hanya menunjukkan gudang SQL tanpa server dan pro.

  5. Tentukan Gudang catalog. Jika tidak diatur, default ruang kerja digunakan.

  6. Tentukan Gudang schema. Secara default, schemadefault digunakan.

  7. Pilih komputasi CLI dbt untuk menjalankan dbt Core. Databricks merekomendasikan penggunaan komputasi tanpa server untuk pekerjaan atau komputasi pekerjaan klasik yang dikonfigurasi dengan kluster simpul tunggal.

  8. dbt-databricks Tentukan versi untuk tugas tersebut.

    Jika Anda menggunakan komputasi Serverless, gunakan bidang Lingkungan dan Pustaka untuk select, mengedit, atau menambahkan lingkungan baru. Lihat Menginstal dependensi buku catatan.

    Untuk semua konfigurasi komputasi lainnya, bidang Pustaka dependen diisi secara dbt-databricks>=1.0.0,<2.0.0 default. Hapus pengaturan ini dan + Tambahkanpustaka PyPi untuk menyematkan versi.

    Catatan

    Databricks merekomendasikan untuk menyematkan tugas dbt Anda ke versi tertentu dari paket dbt-databricks untuk memastikan versi yang sama digunakan untuk pengembangan dan eksekusi produksi. Databricks merekomendasikan versi 1.6.0 atau lebih tinggi dari paket dbt-databricks.

  9. Klik Buat tugas.

Apa itu perintah dbt?

Bidang perintah dbt memungkinkan Anda menentukan perintah untuk dijalankan menggunakan antarmuka baris perintah (CLI) dbt. Untuk detail lengkap tentang DBT CLI, lihat dokumentasi dbt.

Periksa dokumentasi dbt untuk perintah yang didukung oleh versi dbt yang ditentukan.

Meneruskan opsi ke perintah dbt

Sintaks pemilihan simpul dbt memungkinkan Anda menentukan sumber daya untuk disertakan atau dikecualikan dalam eksekusi tertentu. Perintah seperti run dan build menerima bendera termasuk --select dan --exclude. Lihat dokumen ringkasan sintaks dbt untuk deskripsi lengkap.

Bendera konfigurasi tambahan mengontrol cara dbt menjalankan proyek Anda. Lihat opsi garis perintah column di dokumen dbt resmi untuk list flag yang tersedia.

Beberapa bendera mengambil argumen posisi. Beberapa argumen untuk bendera adalah string. Lihat dokumentasi dbt untuk contoh dan penjelasan.

Meneruskan variabel ke perintah dbt

Gunakan bendera --vars untuk meneruskan values yang statis atau dinamis ke perintah di bidang perintah dbt.

Anda meneruskan JSON yang dibatasi kuotasi tunggal ke --vars. Semua kunci dan values di JSON harus dibatasi tanda kutip ganda, seperti dalam contoh berikut:

dbt run --vars '{"volume_path": "/Volumes/path/to/data", "date": "2024/08/16"}'

Contoh perintah dbt berparameter

Anda dapat mereferensikan tugas values, pekerjaan parameters, dan pekerjaan dinamis parameters saat bekerja dengan dbt. digantikan sebagai teks biasa ke bidang dari perintah dbt sebelum perintah dijalankan. Untuk informasi tentang mengoper values di antara tugas atau merujuk metadata pekerjaan, lihat Parameterisasi pekerjaan.

Contoh-contoh ini mengasumsikan pekerjaan berikut parameters telah dikonfigurasi:

Nama Parameter Nilai parameter
volume_path /Volumes/path/to/data
table_name my_table
select_clause --select "tag:nightly"
dbt_refresh --full-refresh

Contoh berikut menunjukkan cara yang valid untuk mereferensikan parametersini:

dbt run '{"volume_path": "{{job.parameters.volume_path}}"}'
dbt run --select "{{job.parameters.table_name}}"
dbt run {{job.parameters.select_clause}}
dbt run {{job.parameters.dbt_refresh}}
dbt run '{"volume_path": "{{job.parameters.volume_path}}"}' {{job.parameters.dbt_refresh}}

Anda juga dapat mereferensikan parameters dinamis dan tugas values, seperti dalam contoh berikut:

dbt run --vars '{"date": "{{job.start_time.iso_date}}"}'
dbt run --vars '{"sales_count": "{{tasks.sales_task.values.sales_count}}"}'