Apa itu skrip init?

Skrip init (skrip inisialisasi) adalah skrip shell yang berjalan selama startup setiap node kluster sebelum driver apache Spark atau eksekutor JVM dimulai. Artikel ini menyediakan rekomendasi untuk skrip init dan informasi konfigurasi jika Anda harus menggunakannya.

Rekomendasi untuk skrip init

Databricks merekomendasikan penggunaan fitur platform bawaan alih-alih skrip init jika memungkinkan. Penggunaan skrip init yang luas dapat memperlambat migrasi ke versi Databricks Runtime baru dan mencegah adopsi beberapa pengoptimalan Databricks.

Penting

Jika Anda perlu bermigrasi dari skrip init di DBFS, lihat Memigrasikan skrip init dari DBFS.

Fitur Databricks berikut membahas beberapa kasus penggunaan umum untuk skrip init:

Jika Anda harus menggunakan skrip init:

  • Kelola skrip init menggunakan kebijakan komputasi atau skrip init cakupan kluster daripada skrip init global. Lihat jenis skrip init.
  • Mengelola penginstalan pustaka untuk lingkungan produksi dan interaktif menggunakan kebijakan komputasi. Jangan instal pustaka menggunakan skrip init.
  • Gunakan mode akses bersama untuk semua beban kerja. Hanya gunakan mode akses pengguna tunggal jika fungsionalitas yang diperlukan tidak didukung oleh mode akses bersama.
  • Gunakan versi Runtime Databricks baru dan Unity Catalog untuk semua beban kerja.

Tabel berikut ini menyediakan rekomendasi yang diatur oleh versi Databricks Runtime dan pengaktifan Unity Catalog.

Lingkungan Rekomendasi
Databricks Runtime 13.3 LTS ke atas dengan Unity Catalog Simpan skrip init dalam volume Katalog Unity.
Databricks Runtime 11.3 LTS ke atas tanpa Unity Catalog Simpan skrip init sebagai file ruang kerja. (Batas ukuran file adalah 500 MB).
Databricks Runtime 10.4 LTS ke bawah Simpan skrip init menggunakan penyimpanan objek cloud.

Jenis skrip init apa yang didukung Azure Databricks?

Azure Databricks mendukung dua jenis skrip init: cakupan kluster dan global, tetapi direkomendasikan menggunakan skrip init cakupan kluster.

  • Cluster-scoped: berjalan pada setiap cluster yang dikonfigurasi dengan skrip. Ini adalah cara yang disarankan untuk menjalankan skrip init. Lihat Menggunakan skrip init yang dilingkup kluster.
  • Global: berjalan pada semua kluster di ruang kerja yang dikonfigurasi dengan mode akses pengguna tunggal atau mode akses bersama tanpa isolasi. Skrip init ini dapat menyebabkan masalah tak terduga, seperti konflik pustaka. Hanya pengguna admin ruang kerja yang dapat membuat skrip init global. Lihat Menggunakan skrip init global.

Setiap kali Anda mengubah semua jenis skrip init, Anda harus memulai ulang semua kluster yang terpengaruh oleh skrip.

Skrip init global berjalan sebelum skrip init yang dilingkup kluster.

Penting

Skrip init bernama kluster global dan warisan warisan berjalan sebelum skrip init lainnya. Skrip init ini adalah akhir masa pakai, tetapi mungkin ada di ruang kerja yang dibuat sebelum 21 Februari 2023. Lihat Skrip init bernama kluster (warisan) dan skrip init Global (warisan).

Di mana skrip init dapat diinstal?

Anda dapat menyimpan dan mengonfigurasi skrip init dari file ruang kerja, volume Katalog Unity, dan penyimpanan objek cloud, tetapi skrip init tidak didukung pada semua konfigurasi kluster dan tidak semua file dapat dirujuk dari skrip init.

Tabel berikut menunjukkan dukungan untuk skrip init berdasarkan lokasi sumber dan mode akses kluster. Versi Databricks Runtime yang tercantum adalah versi minimum yang diperlukan untuk menggunakan kombinasi. Untuk informasi tentang mode akses kluster, lihat Mode akses.

Catatan

Mode akses bersama mengharuskan admin untuk menambahkan skrip init ke allowlist. Lihat Izinkan pustaka dan skrip init pada komputasi bersama.

Mode akses bersama Mode akses tunggal Mode akses bersama tanpa isolasi
File ruang kerja Tidak didukung Semua versi Databricks Runtime yang didukung Semua versi Databricks Runtime yang didukung
Volume 13.3 LTS 13.3 LTS Tidak didukung
Penyimpanan cloud 13.3 LTS Semua versi Databricks Runtime yang didukung Semua versi Databricks Runtime yang didukung

Memigrasikan skrip init dari DBFS

Peringatan

Skrip init pada DBFS telah mencapai akhir masa pakai dan tidak dapat lagi digunakan. Anda harus memigrasikan skrip init anda ke lokasi yang didukung sebelum dapat memulai komputasi. Simpan skrip init pada Volume Katalog Unity, sebagai file ruang kerja, atau di penyimpanan objek cloud.

Pengguna yang perlu memigrasikan skrip init dari DBFS dapat menggunakan panduan berikut. Pastikan Anda telah mengidentifikasi target yang benar untuk konfigurasi Anda. Lihat Rekomendasi untuk skrip init.