Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Halaman ini menguraikan sintaks untuk mode penyebaran Bundel Otomatisasi Deklaratif. Bundel memungkinkan manajemen terprogram alur kerja Azure Databricks. Lihat Apa itu Bundel Otomatisasi Deklaratif?
Dalam alur kerja CI/CD, pengembang biasanya membuat kode, menguji, menyebarkan, dan menjalankan solusi dalam berbagai fase, atau mode. Misalnya, set mode paling sederhana mencakup mode pengembangan untuk validasi pra-produksi, diikuti dengan mode produksi untuk hasil yang divalidasi. Bundel Otomatisasi Deklaratif menyediakan kumpulan opsional perilaku default yang sesuai dengan masing-masing mode ini.
Mode penyebaran bersifat opsional. Anda dapat menyebarkan bundel tanpa mengatur mode atau mengonfigurasi presets. Mode penyebaran adalah cara praktis untuk menerapkan sekumpulan pengaturan umum secara sekaligus.
Mode pengembangan
Untuk menyebarkan bundel Anda dalam mode pengembangan, tambahkan map mode, atur ke development, ke target yang dimaksud. Lihat pemetaan target konfigurasi bundel. Misalnya, target bernama dev ini diperlakukan sebagai target pengembangan:
targets:
dev:
mode: development
Menyebarkan target dalam mode pengembangan dengan menjalankan databricks bundle deploy -t <target-name> perintah mengimplementasikan perilaku berikut, yang dapat disesuaikan menggunakan preset:
- Menambahkan awalan
[dev ${workspace.current_user.short_name}]pada semua sumber daya yang tidak disebarkan sebagai file atau notebook dan menandai setiap pekerjaan dan alur kerja yang disebarkan dengan tag Azure Databricksdev. - Menandai semua Alur Kerja Deklaratif Spark Lakeflow yang terkait dan sudah disebarkan sebagai
development: true. - Memungkinkan penggunaan
--cluster-id <cluster-id>dalam panggilan terkait ke perintahbundle deploy, yang menggantikan semua definisi kluster yang sudah ada dan ditentukan dalam file konfigurasi bundel terkait. Alih-alih menggunakan--cluster-id <cluster-id>dalam panggilan terkait ke perintahbundle deploy, Anda dapat mengatur pemetaancluster_iddi sini, atau sebagai pemetaan anak dari pemetaanbundle, ke ID kluster yang akan digunakan. - Menghentikan sementara semua jadwal dan pemicu pada sumber daya terpasang seperti tugas atau pemantau kualitas. Batalkan jeda jadwal dan pemicu untuk pekerjaan individual dengan mengatur
schedule.pause_statuskeUNPAUSED. - Memungkinkan eksekusi bersamaan pada semua pekerjaan yang telah disebarkan untuk meningkatkan kecepatan iterasi. Nonaktifkan eksekusi bersamaan untuk pekerjaan individual dengan mengatur
max_concurrent_runske1. - Menonaktifkan kunci penyebaran untuk iterasi yang lebih cepat. Kunci ini mencegah konflik penyebaran yang tidak mungkin terjadi dalam mode dev. Aktifkan kembali kunci dengan mengatur
bundle.deployment.lock.enabledketrue.
Mode produksi
Untuk mendistribusikan bundel Anda dalam mode produksi, tambahkan pemetaan mode, atur ke production, ke target yang dimaksud. Lihat pemetaan target konfigurasi bundel. Misalnya, target bernama prod ini diperlakukan sebagai target produksi:
targets:
prod:
mode: production
Menyebarkan target dalam mode produksi dengan menjalankan databricks bundle deploy -t <target-name> perintah mengimplementasikan perilaku berikut:
Memvalidasi bahwa semua Alur Deklaratif Lakeflow Spark yang disebarkan terkait ditandai sebagai
development: false.Memvalidasi bahwa cabang Git saat ini sama dengan cabang Git yang ditentukan dalam target. Menentukan cabang Git dalam target bersifat opsional dan dapat dilakukan dengan properti tambahan
gitsebagai berikut:git: branch: mainValidasi ini dapat ditimpa dengan menentukan
--forcesaat menggunakan.Databricks merekomendasikan agar Anda menggunakan perwakilan layanan untuk penyebaran produksi. Anda dapat memberlakukan ini dengan mengatur
run_aske 'service principal'. Lihat Principal layanan dan Tentukan identitas pelaksanaan untuk alur kerja Bundel Otomatisasi Deklaratif. Jika Anda tidak menggunakan pelaku layanan, perhatikan perilaku tambahan berikut:- Memvalidasi bahwa
artifact_path,file_path,root_path, ataustate_pathpemetaan tidak dibebankan kepada pengguna tertentu. - Memvalidasi bahwa pemetaan
run_asdanpermissionsditentukan untuk mengklarifikasi identitas mana yang memiliki izin khusus untuk penyebaran.
- Memvalidasi bahwa
Tidak seperti perilaku sebelumnya untuk mengatur pemetaan
modekedevelopment, mengatur pemetaanmodekeproductiontidak memungkinkan pengesampingan definisi kluster yang ada yang ditentukan dalam file konfigurasi bundel terkait, misalnya, dengan menggunakan opsi--compute-id <cluster-id>atau pemetaancompute_id.
Prasetel kustom
Bundel Otomatisasi Deklaratif mendukung prasetel yang dapat dikonfigurasi untuk target, yang memungkinkan Anda menyesuaikan perilaku untuk target. Untuk preset yang tersedia, lihat referensi konfigurasi.
Catatan
Kecuali jika ada pengecualian yang ditentukan untuk prasetel, jika keduanya mode dan presets diatur, prasetel akan mengesampingkan perilaku mode default, dan pengaturan sumber daya individu akan mengesampingkan prasetel. Contohnya:
- Jika
max_concurrent_runsuntuk pekerjaan ditetapkan pada 10, tetapi praseteljobs_max_concurrent_runsdiatur ke 20, maka eksekusi bersamaan maksimum untuk pekerjaan tersebut adalah 10. - Jika jadwal diatur ke
UNPAUSED, tetapitrigger_pause_statusprasetel diatur kePAUSED, jadwal akan dilanjutkan.
Contoh berikut menunjukkan konfigurasi prasetel kustom untuk target bernama dev:
targets:
dev:
presets:
name_prefix: 'testing_' # prefix all resource names with testing_
pipelines_development: true # set development to true for pipelines
trigger_pause_status: PAUSED # set pause_status to PAUSED for all triggers and schedules
jobs_max_concurrent_runs: 10 # set max_concurrent runs to 10 for all jobs
tags:
department: finance