Menolak pustaka Python yang telah diinstal sebelumnya untuk aplikasi Databricks

Halaman ini menjelaskan cara tidak menggunakan pustaka Python prainstal pada aplikasi Databricks yang diskalakan horizontal, mengelola dependensi sendiri, dan mengaktifkan kembali pustaka prainstal tersebut di lain waktu. Penolakan hanya tersedia pada aplikasi berskala horizontal yang dikonversi dari aplikasi standar. Lihat Mengonversi aplikasi standar untuk menggunakan penskalakan horizontal. Penskalakan horizontal ada di Beta.

Saat Anda konversi aplikasi standar untuk diskalakan secara horizontal, Azure Databricks menyematkan aplikasi yang dikonversi ke pustaka Python yang diinstal sebelumnya sehingga impor aplikasi Anda yang sudah ada terus berfungsi. Pilih keluar untuk menjalankan aplikasi pada gambar OS dasar yang bersih dan mendeklarasikan setiap pustaka sendiri.

Menolak pustaka yang telah diinstal sebelumnya

Menonaktifkan opsi ini mengarahkan Azure Databricks untuk membangun deployment berikutnya menggunakan image OS dasar yang bersih. Pustaka yang telah diinstal sebelumnya tidak lagi tersedia kecuali Anda mendeklarasikannya di requirements.txt atau pyproject.toml.

Untuk menolak:

  1. Pada halaman detail aplikasi, klik Edit.
  2. Dalam langkah Konfigurasi, kosongkan kotak centang Menggunakan pustaka Python yang telah diinstal sebelumnya.
  3. Kliklah Simpan. Deploymen yang saat ini sedang berjalan tidak terpengaruh.
  4. Sebarkan aplikasi Anda lagi dari tab Penyebaran . Penyebaran baru ini dibangun terhadap gambar OS dasar yang bersih.

Dependensi Anda mungkin menyertakan pustaka yang telah diinstal sebelumnya secara transitif, sehingga tidak selalu jelas pustaka mana yang diperlukan aplikasi Anda secara langsung. Temukan pustaka yang hilang di aplikasi pengujian sebelum memilih keluar dalam produksi:

  1. Buat aplikasi baru yang diskalakan secara horizontal. Aplikasi baru yang diskalakan secara horizontal sudah berjalan pada gambar OS dasar bersih, sehingga ini cocok dengan target pasca-penolakan Anda.
  2. Sebarkan sumber aplikasi produksi Anda ke aplikasi pengujian. Perbarui requirements.txt (atau pyproject.toml) dan sebarkan ulang hingga aplikasi pengujian dimulai, melayani permintaan, dan lulus pengujian Anda.
  3. Salin deklarasi dependensi akhir ke sumber aplikasi produksi Anda.
  4. Pada aplikasi produksi, ikuti langkah-langkah di Menolak pustaka yang telah diinstal sebelumnya dan menyebarkan sumber yang diperbarui.

Produksi terus berjalan pada gambar dengan pustaka yang telah diinstal sebelumnya hingga penyebaran baru Anda melewati pemeriksaan kesehatan, sehingga pendekatan ini menghindari waktu henti saat Anda mengidentifikasi dependensi yang hilang pada aplikasi pengujian.

Mengatasi kesalahan setelah memilih keluar

Kegagalan yang paling umum setelah memilih keluar adalah ModuleNotFoundError saat memulai aplikasi, yang disebabkan oleh kerangka kerja atau pustaka kode Anda yang diimpor secara implisit dari set yang telah diinstal sebelumnya. Untuk mengatasinya:

  1. Buka tab Log di halaman detail aplikasi.
  2. Temukan nama modul yang hilang di log build atau runtime.
  3. Tambahkan paket yang sesuai ke requirements.txt (atau pyproject.toml) dan sebarkan ulang.

Penyebaran baru hanya menggantikan penyebaran yang sedang berjalan jika proses aplikasi tetap berjalan selama beberapa detik pertama setelah startup. Deployment opt-out yang langsung crash karena import yang tidak ditemukan tidak akan pernah mengambil alih, dan trafik tetap diarahkan ke deployment sebelumnya yang masih berfungsi sementara Anda memperbaiki daftar dependensi. Pemeriksaan startup hanya bersifat dasar, jadi uji apakah aplikasi Anda benar-benar dapat menangani permintaan setelah menonaktifkannya, alih-alih mengandalkan pemeriksaan tersebut untuk mendeteksi deployment yang bermasalah.

Mengaktifkan kembali pustaka yang telah diinstal sebelumnya

Untuk kembali ke pustaka yang telah diinstal sebelumnya setelah memilih keluar:

  1. Pada halaman detail aplikasi, klik Edit.
  2. Di langkah Konfigurasi, pilih kotak centang Gunakan pustaka Python yang telah diinstal sebelumnya.
  3. Kliklah Simpan.
  4. Deploy ulang aplikasi Anda dari tab Deployment. Deployment baru ini dibangun menggunakan image dasar dengan library yang sudah terinstal.

requirements.txt dan pyproject.toml Anda tetap berlaku, sehingga setiap deklarasi eksplisit yang Anda tambahkan selama Anda memilih untuk tidak ikut serta akan tetap dipertahankan.

Note

Mengonversi aplikasi yang diskalakan secara horizontal kembali ke aplikasi standar juga memulihkan pustaka yang telah diinstal sebelumnya: aplikasi standar dibangun kembali dengan aplikasi tersebut, terlepas dari apakah Anda telah memilih keluar. Jika nanti Anda mengonversi aplikasi menjadi diskalakan secara horizontal lagi, aplikasi tersebut menyertakan pustaka yang telah diinstal sebelumnya hingga Anda memilih keluar lagi.