Pustaka
Agar kode pihak ketiga atau kustom tersedia untuk notebook dan pekerjaan yang berjalan di klaster Anda, Anda dapat menginstal pustaka. Pustaka dapat ditulis dalam Python, Java, Scala, dan R. Anda dapat mengunggah pustaka Python, Java, dan Scala dan menunjuk ke paket eksternal di repositori PyPI, Maven, dan CRAN.
Azure Databricks menyertakan banyak pustaka umum di Databricks Runtime. Untuk melihat pustaka mana yang disertakan dalam Databricks Runtime, lihat sub-bagian Lingkungan Sistem dari catatan rilis Databricks Runtime untuk versi Databricks Runtime Anda.
Catatan
Dukungan Microsoft membantu mengisolasi dan menyelesaikan masalah yang terkait dengan pustaka yang diinstal dan dikelola oleh Azure Databricks. Untuk komponen pihak ketiga, termasuk perpustakaan, Microsoft menyediakan dukungan yang wajar secara komersial untuk membantu Anda memecahkan masalah lebih lanjut. Dukungan Microsoft membantu dengan upaya terbaik dan mungkin dapat mengatasi masalah ini. Untuk konektor dan proyek sumber terbuka yang di-hosting di Github, kami sarankan Anda mengajukan masalah pada Github dan menindaklanjutinya. Upaya pengembangan seperti wadah naungan atau membangun perpustakaan Python tidak didukung melalui proses pengajuan kasus dukungan standar: kasus ini memerlukan keterlibatan konsultasi untuk resolusi yang lebih cepat. Dukungan mungkin meminta Anda untuk melibatkan saluran lain untuk teknologi sumber terbuka di mana Anda dapat menemukan keahlian yang mendalam untuk teknologi tersebut. Ada beberapa situs komunitas; antara lain halaman Microsoft Q&A untuk Azure Databricks dan Stack Overflow.
Pustaka cakupan kluster
Anda dapat menginstal pustaka pada kluster sehingga dapat digunakan oleh semua buku catatan dan pekerjaan yang berjalan di kluster. Databricks mendukung pustaka Python, JAR, dan R. Lihat Pustaka kluster.
Anda dapat menginstal pustaka kluster langsung dari sumber berikut:
- Repositori paket seperti PyPI, Maven, atau CRAN
- File ruang kerja
- Volume Katalog Unity
- Lokasi penyimpanan objek cloud
- Jalur di komputer lokal Anda
Tidak semua lokasi didukung untuk semua jenis pustaka atau semua konfigurasi komputasi. Lihat Rekomendasi untuk mengunggah pustaka untuk rekomendasi konfigurasi.
Penting
Pustaka dapat diinstal dari DBFS saat menggunakan Databricks Runtime 14.3 LTS dan di bawahnya. Namun, setiap pengguna ruang kerja dapat memodifikasi file pustaka yang disimpan di DBFS. Untuk meningkatkan keamanan pustaka di ruang kerja Azure Databricks, menyimpan file pustaka di akar DBFS tidak digunakan lagi dan dinonaktifkan secara default di Databricks Runtime 15.1 ke atas. Lihat Menyimpan pustaka di akar DBFS tidak digunakan lagi dan dinonaktifkan secara default.
Sebagai gantinya, Databricks merekomendasikan untuk mengunggah semua pustaka, termasuk pustaka Python, file JAR, dan konektor Spark, ke file ruang kerja atau volume Katalog Unity, atau menggunakan repositori paket pustaka. Jika beban kerja Anda tidak mendukung pola ini, Anda juga dapat menggunakan pustaka yang disimpan di penyimpanan objek cloud.
Untuk informasi dukungan pustaka lengkap, lihat Dukungan pustaka Python, dukungan pustaka Java dan Scala, dan dukungan pustaka R.
Rekomendasi untuk mengunggah pustaka
Databricks mendukung sebagian besar penginstalan konfigurasi pustaka Python, JAR, dan R, tetapi ada beberapa skenario yang tidak didukung. Disarankan agar Anda mengunggah pustaka ke lokasi sumber yang mendukung penginstalan ke komputasi dengan mode akses bersama, karena ini adalah mode yang direkomendasikan untuk semua beban kerja. Lihat Mode akses. Saat menjadwalkan pekerjaan dengan mode akses bersama, jalankan pekerjaan dengan perwakilan layanan.
Penting
Hanya gunakan komputasi dengan mode akses pengguna tunggal jika fungsionalitas yang diperlukan tidak didukung oleh mode akses bersama. Tidak ada mode akses bersama isolasi yang merupakan konfigurasi warisan pada Databricks yang tidak disarankan.
Tabel berikut ini menyediakan rekomendasi yang diatur oleh versi Databricks Runtime dan pengaktifan Unity Catalog.
Konfigurasi | Rekomendasi |
---|---|
Databricks Runtime 13.3 LTS ke atas dengan Unity Catalog | Instal pustaka pada komputasi dengan mode akses bersama dari volume Unity Catalog dengan GRANT READ untuk semua pengguna akun. Jika berlaku, koordinat Maven dan jalur pustaka JAR perlu ditambahkan ke daftar yang diizinkan. |
Databricks Runtime 11.3 LTS ke atas tanpa Unity Catalog | Instal pustaka dari file ruang kerja. (Batas ukuran file adalah 500 MB.) |
Databricks Runtime 10.4 LTS ke bawah | Instal pustaka dari penyimpanan objek cloud. |
Dukungan pustaka Python
Tabel berikut menunjukkan kompatibilitas versi Databricks Runtime untuk file roda Python untuk mode akses kluster yang berbeda berdasarkan lokasi sumber pustaka. Lihat Versi catatan rilis Databricks Runtime dan kompatibilitas dan mode Akses.
Di Databricks Runtime 15.0 ke atas, Anda dapat menggunakan file requirements.txt untuk mengelola dependensi Python Anda. File-file ini dapat diunggah ke lokasi sumber yang didukung.
Catatan
Menginstal file telur Python tidak didukung dengan Databricks Runtime 14.0 ke atas. Gunakan file roda Python atau instal paket dari PyPI sebagai gantinya.
Mode akses bersama | Mode akses pengguna tunggal | Tidak ada mode akses bersama isolasi (Warisan) | |
---|---|---|---|
PyPI | 13.3 LTS ke atas | Semua versi Databricks Runtime yang didukung | Semua versi Databricks Runtime yang didukung |
File ruang kerja | 13.3 LTS ke atas | 13.3 LTS ke atas | 14.1 ke atas |
Volume | 13.3 LTS ke atas | 13.3 LTS ke atas | Tidak didukung |
Penyimpanan cloud | 13.3 LTS ke atas | Semua versi Databricks Runtime yang didukung | Semua versi Databricks Runtime yang didukung |
DBFS (Tidak disarankan) | Tidak didukung | 14.3 ke bawah | 14.3 ke bawah |
Dukungan pustaka Java dan Scala
Tabel berikut menunjukkan kompatibilitas versi Databricks Runtime untuk file JAR untuk mode akses kluster yang berbeda berdasarkan lokasi sumber pustaka. Lihat Versi catatan rilis Databricks Runtime dan kompatibilitas dan mode Akses.
Catatan
Mode akses bersama mengharuskan admin untuk menambahkan koordinat dan jalur Maven untuk pustaka JAR ke allowlist
. Lihat Izinkan pustaka dan skrip init pada komputasi bersama.
Mode akses bersama | Mode akses pengguna tunggal | Tidak ada mode akses bersama isolasi (Warisan) | |
---|---|---|---|
Maven | 13.3 LTS ke atas | Semua versi Databricks Runtime yang didukung | Semua versi Databricks Runtime yang didukung |
File ruang kerja | Tidak didukung | Tidak didukung | 14.1 ke atas |
Volume | 13.3 LTS ke atas | 13.3 LTS ke atas | Tidak didukung |
Penyimpanan cloud | 13.3 LTS ke atas | Semua versi Databricks Runtime yang didukung | Semua versi Databricks Runtime yang didukung |
DBFS (Tidak disarankan) | Tidak didukung | 14.3 ke bawah | 14.3 ke bawah |
Dukungan pustaka R
Tabel berikut menunjukkan kompatibilitas versi Databricks Runtime untuk paket CRAN untuk mode akses kluster yang berbeda. Lihat Versi catatan rilis Databricks Runtime dan kompatibilitas dan mode Akses.
Mode akses bersama | Mode akses pengguna tunggal | Tidak ada mode akses bersama isolasi (Warisan) | |
---|---|---|---|
CRAN | Tidak didukung | Semua versi Databricks Runtime yang didukung | Semua versi Databricks Runtime yang didukung |
Pustaka cakupan buku catatan
Pustaka yang tercakup di buku catatan, tersedia untuk Python dan R, memungkinkan Anda menginstal pustaka dan membuat lingkungan yang dicakup ke sesi buku catatan. Pustaka ini tidak memengaruhi buku catatan lain yang berjalan di kluster yang sama. Pustaka yang tercakup di buku catatan tidak dipertahankan dan harus diinstal ulang untuk setiap sesi. Gunakan pustaka yang tercakup di buku catatan saat Anda memerlukan lingkungan kustom untuk buku catatan tertentu.
Catatan
JAR tidak dapat diinstal pada tingkat buku catatan.
Penting
Pustaka ruang kerja tidak digunakan lagi dan tidak boleh digunakan. Lihat Pustaka ruang kerja (warisan). Namun, menyimpan pustaka karena file ruang kerja berbeda dari pustaka ruang kerja dan masih didukung sepenuhnya. Anda dapat menginstal pustaka yang disimpan sebagai file ruang kerja langsung ke tugas komputasi atau pekerjaan.
Manajemen lingkungan Python
Tabel berikut memberikan gambaran umum tentang opsi yang dapat Anda gunakan untuk menginstal pustaka Python di Azure Databricks.
Catatan
- Kontainer kustom yang menggunakan lingkungan berbasis conda tidak kompatibel dengan pustaka dengan cakupan buku catatan dan dengan pustaka kluster di Databricks Runtime 10.4 LTS ke atas. Sebagai gantinya, Azure Databricks merekomendasikan untuk menginstal pustaka langsung dalam gambar atau menggunakan skrip init. Untuk terus menggunakan pustaka kluster dalam skenario tersebut, Anda dapat mengaturKonfigurasi spark
spark.databricks.driverNfs.clusterWidePythonLibsEnabled
kefalse
. Dukungan untuk konfigurasi Spark akan dihapus pada atau setelah 31 Desember 2021.
Sumber paket Python | Pustaka yang tercakup di buku catatan dengan %pip | Pustaka dengan cakupan buku catatan dengan file YAML lingkungan dasar | Pustaka kluster | Pustaka Pekerjaan dengan API Pekerjaan |
---|---|---|---|---|
PyPI | Gunakan %pip install . Lihat contoh. |
Tambahkan nama paket PyPI ke file YAML lingkungan dasar. Lihat contoh. | Pilih PyPI sebagai sumber. | Tambahkan objek pypi baru ke pustaka pekerjaan dan tentukan bidang package . |
Cermin PyPI privat, seperti Nexus atau Artifactory | Gunakan %pip install dengan opsi --index-url . Manajemen rahasia tersedia. Lihat contoh. |
Tambahkan ke -–index-url file YAML lingkungan dasar. Manajemen rahasia tersedia. Lihat contoh. |
Tidak didukung. | Tidak didukung. |
VCS, seperti GitHub, dengan sumber mentah | Gunakan %pip install dan tentukan URL repositori sebagai nama paket. Lihat contoh. |
Tambahkan URL repositori sebagai nama paket ke file YAML lingkungan dasar. Lihat contoh. | Pilih PyPI sebagai sumber dan tentukan URL repositori sebagai nama paket. | Tambahkan objek pypi baru ke pustaka pekerjaan dan tentukan URL repositori sebagai bidang package . |
VCS privat dengan sumber mentah | Gunakan %pip install dan tentukan URL repositori dengan autentikasi dasar sebagai nama paket. Manajemen rahasia tersedia. Lihat contoh. |
Tambahkan repositori dengan autentikasi dasar sebagai nama paket ke file YAML lingkungan dasar. Lihat contoh. | Tidak didukung. | Tidak didukung. |
Jalur file | Gunakan %pip install . Lihat contoh. |
Tambahkan jalur file sebagai nama paket ke file YAML lingkungan dasar. Lihat contoh. | Pilih Jalur file/ADLS sebagai sumber. | Tambahkan objek atau whl baru egg ke pustaka pekerjaan dan tentukan jalur file sebagai package bidang . |
Azure Data Lake Storage Gen2 | Gunakan %pip install bersama dengan URL yang telah ditandatangani sebelumnya. Jalur dengan protokol abfss:// Azure Data Lake Storage Gen2 tidak didukung. |
Tambahkan URL yang telah ditandatangani sebelumnya sebagai nama paket ke file YAML lingkungan dasar. Jalur dengan protokol abfss:// Azure Data Lake Storage Gen2 tidak didukung. |
Pilih Jalur file/ADLS sebagai sumber. | Tambahkan objek atau whl baru egg ke pustaka pekerjaan dan tentukan jalur Azure Data Lake Storage Gen2 sebagai package bidang . |
Prioritas pustaka Python
Anda mungkin mengalami situasi di mana Anda perlu mengambil alih versi untuk pustaka bawaan, atau memiliki pustaka kustom yang bertentangan namanya dengan pustaka lain yang diinstal pada kluster. Saat Anda menjalankan import <library>
, pustaka dengan prioritas tinggi diimpor.
Penting
Pustaka yang disimpan dalam file ruang kerja memiliki prioritas yang berbeda tergantung pada bagaimana pustaka ditambahkan ke Python sys.path
. Folder Databricks Git menambahkan direktori kerja saat ini ke jalur sebelum semua pustaka lain, sementara buku catatan di luar folder Git menambahkan direktori kerja saat ini setelah pustaka lain diinstal. Jika Anda menambahkan direktori ruang kerja secara manual ke jalur Anda, ini selalu memiliki prioritas terendah.
Urutan daftar berikut diutamakan dari tertinggi ke terendah. Dalam daftar ini, angka yang lebih rendah berarti prioritas yang lebih tinggi.
- Pustaka di direktori kerja saat ini (hanya folder Git).
- Pustaka di direktori akar folder Git (hanya folder Git).
- Pustaka lingkup buku catatan (
%pip install
di buku catatan). - Pustaka kluster (menggunakan UI, CLI, atau API).
- Pustaka yang disertakan dalam Databricks Runtime.
- Pustaka yang diinstal dengan skrip init mungkin diselesaikan sebelum atau sesudah pustaka bawaan, tergantung pada cara pustaka diinstal. Databricks tidak merekomendasikan penginstalan pustaka dengan skrip init.
- Pustaka di direktori kerja saat ini (bukan di folder Git).
- File ruang kerja ditambahkan ke
sys.path
.