Pustaka Python yang tercakup di buku catatan
Pustaka cakupan buku catatan memungkinkan Anda membuat, memodifikasi, menyimpan, menggunakan kembali, dan berbagi lingkungan Python kustom yang khusus untuk suatu buku catatan. Saat Anda menginstal pustaka cakupan buku catatan, hanya buku catatan saat ini dan pekerjaan apa pun yang terkait dengan buku catatan tersebut yang memiliki akses ke pustaka tersebut. Buku catatan lain yang dilampirkan ke kluster yang sama tidak terpengaruh.
Pustaka cakupan buku catatan tidak bertahan di seluruh sesi. Anda harus memasang ulang pustaka cakupan buku catatan di awal setiap sesi, atau setiap kali buku catatan terlepas dari kluster.
Databricks merekomendasikan penggunaan %pip
perintah ajaib untuk menginstal pustaka Python dengan cakupan buku catatan.
Anda bisa menggunakan %pip
di buku catatan yang dijadwalkan sebagai pekerjaan. Jika Anda perlu mengelola lingkungan Python di notebook Scala, SQL, atau R, gunakan %python
perintah ajaib bersama dengan %pip
.
Anda mungkin mengalami lebih banyak lalu lintas ke simpul driver saat bekerja dengan penginstalan pustaka dengan cakupan buku catatan. Lihat Seberapa besar simpul driver saat bekerja dengan pustaka dengan cakupan buku catatan?.
Untuk menginstal pustaka untuk semua buku catatan yang dilampirkan ke kluster, gunakan pustaka kluster. Lihat Pustaka kluster.
Catatan
Pada Databricks Runtime 10.4 LTS dan di bawahnya, Anda dapat menggunakan utilitas pustaka Azure Databricks (warisan). Utilitas pustaka hanya didukung pada Databricks Runtime, bukan Databricks Runtime ML. Lihat Utilitas pustaka (dbutils.library) (warisan).
Mengelola pustaka dengan perintah %pip
Perintah ini %pip
setara dengan perintah pip dan mendukung API yang sama. Bagian berikut berisi contoh cara menggunakan perintah %pip
untuk mengelola lingkungan Anda. Untuk informasi lebih lanjut tentang menginstal paket Python dengan pip
, lihat dokumentasi instalasi conda dan halaman terkait.
Penting
- Dimulai dengan perintah Databricks Runtime 13.0
%pip
tidak secara otomatis memulai ulang proses Python. Jika Anda menginstal paket baru atau memperbarui paket yang sudah ada, Anda mungkin perlu menggunakandbutils.library.restartPython()
untuk melihat paket baru. Lihat Memulai ulang proses Python di Azure Databricks. - Pada Databricks Runtime 12.2 LTS dan di bawahnya, Databricks merekomendasikan untuk menempatkan semua
%pip
perintah di awal notebook. Status buku catatan diatur ulang setelah setiap perintah%pip
yang memodifikasi lingkungan. Jika Anda membuat metode atau variabel Python di buku catatan, lalu menggunakan perintah%pip
di sel selanjutnya, metode atau variabel akan hilang. - Memutakhirkan, memodifikasi, atau menghapus paket Python inti (seperti IPython) dengan
%pip
dapat menyebabkan beberapa fitur berhenti berfungsi seperti yang diharapkan. Jika Anda mengalami masalah seperti itu, atur ulang lingkungan dengan melepaskan dan melampirkan ulang buku catatan atau dengan memulai ulang kluster.
Menginstal pustaka dengan %pip
%pip install matplotlib
Menginstal paket roda Python dengan %pip
%pip install /path/to/my_package.whl
Menghapus instalasi pustaka dengan %pip
Catatan
Anda tidak dapat menghapus instalasi pustaka yang disertakan dalam versi catatan rilis Databricks Runtime dan kompatibilitas atau pustaka yang telah diinstal sebagai pustaka kluster. Jika Anda telah menginstal versi pustaka yang berbeda dari yang disertakan dalam Databricks Runtime atau yang diinstal pada kluster, Anda dapat menggunakan %pip uninstall
untuk mengembalikan pustaka ke versi default di Databricks Runtime atau versi yang diinstal pada kluster, tetapi Anda tidak dapat menggunakan perintah %pip
untuk menghapus instalasi versi pustaka yang disertakan dalam Databricks Runtime atau yang diinstal pada kluster.
%pip uninstall -y matplotlib
Opsi -y
diperlukan.
Menginstal pustaka dari sistem kontrol versi dengan %pip
%pip install git+https://github.com/databricks/databricks-cli
Anda dapat menambahkan parameter ke URL untuk menentukan hal-hal seperti versi atau subdirektori git. Lihat dukungan VCS untuk informasi lebih lanjut dan contoh penggunaan sistem kontrol versi lainnya.
Menginstal paket pribadi dengan kredensial yang dikelola oleh rahasia Databricks dengan %pip
Pip mendukung pemasangan paket dari sumber pribadi dengan autentikasi dasar, termasuk sistem kontrol versi pribadi dan repositori paket pribadi, seperti Nexus dan Artifactory. Manajemen rahasia tersedia melalui API Databricks Secrets, yang memungkinkan Anda menyimpan token autentikasi dan kata sandi. Gunakan API DBUtils untuk mengakses rahasia dari buku catatan Anda. Perhatikan bahwa Anda dapat menggunakan $variables
dalam perintah ajaib.
Untuk menginstal paket dari repositori pribadi, tentukan URL repositori dengan opsi --index-url
ke %pip install
atau tambahkan ke file konfigurasi pip
di ~/.pip/pip.conf
.
token = dbutils.secrets.get(scope="scope", key="key")
%pip install --index-url https://<user>:$token@<your-package-repository>.com/<path/to/repo> <package>==<version> --extra-index-url https://pypi.org/simple/
Anda juga dapat menggunakan manajemen rahasia dengan perintah ajaib untuk menginstal paket pribadi dari sistem kontrol versi.
token = dbutils.secrets.get(scope="scope", key="key")
%pip install git+https://<user>:$token@<gitprovider>.com/<path/to/repo>
Menginstal paket dari DBFS dengan %pip
Penting
Setiap pengguna ruang kerja dapat mengubah file yang disimpan di DBFS. Azure Databricks merekomendasikan penyimpanan file di ruang kerja atau pada volume Unity Catalog.
Anda dapat menggunakan %pip
untuk menginstal paket pribadi yang telah disimpan di DBFS.
Saat Anda mengunggah file ke DBFS, file tersebut secara otomatis mengganti nama file, mengganti spasi, tanda titik, dan tanda hubung dengan garis bawah. Untuk file roda Python, pip
mengharuskan nama periode penggunaan file dalam versi (misalnya, 0.1.0) dan tanda hubung alih-alih spasi atau garis bawah, sehingga nama file ini tidak diubah.
%pip install /dbfs/mypackage-0.0.1-py3-none-any.whl
Menginstal paket dari volume dengan %pip
Penting
Fitur ini ada di Pratinjau Publik.
Dengan Databricks Runtime 13.3 LTS ke atas, Anda dapat menggunakan %pip
untuk menginstal paket privat yang telah disimpan ke volume.
Saat Anda mengunggah file ke volume, file secara otomatis mengganti nama file, mengganti spasi, titik, dan tanda hubung dengan garis bawah. Untuk file roda Python, pip
mengharuskan nama periode penggunaan file dalam versi (misalnya, 0.1.0) dan tanda hubung alih-alih spasi atau garis bawah, sehingga nama file ini tidak diubah.
%pip install /Volumes/<catalog>/<schema>/<path-to-library>/mypackage-0.0.1-py3-none-any.whl
Menginstal paket yang disimpan sebagai file ruang kerja dengan %pip
Dengan Databricks Runtime 11.3 LTS ke atas, Anda dapat menggunakan %pip
untuk menginstal paket privat yang telah disimpan sebagai file ruang kerja.
%pip install /Workspace/<path-to-whl-file>/mypackage-0.0.1-py3-none-any.whl
Menyimpan pustaka dalam file persyaratan
%pip freeze > /Workspace/shared/prod_requirements.txt
Setiap subdirektori apa pun di jalur file harus sudah ada. Jika Anda menjalankan %pip freeze > /Workspace/<new-directory>/requirements.txt
, perintah akan gagal jika direktori /Workspace/<new-directory>
belum ada.
Menggunakan file persyaratan untuk menginstal pustaka
File persyaratan berisi daftar paket yang akan diinstal menggunakan pip
. Contoh penggunaan file persyaratan adalah:
%pip install -r /Workspace/shared/prod_requirements.txt
Lihat Format File Persyaratan untuk informasi lebih lanjut tentang file requirements.txt
.
Seberapa besar simpul driver saat bekerja dengan pustaka dengan cakupan buku catatan?
Menggunakan pustaka cakupan buku catatan dapat menghasilkan lebih banyak lalu lintas ke node driver karena berfungsi untuk menjaga lingkungan tetap konsisten di seluruh node pelaksana.
Saat Anda menggunakan kluster dengan 10 node atau lebih, Databricks merekomendasikan spesifikasi ini sebagai persyaratan minimum untuk node driver:
- Untuk kluster CPU 100 node, gunakan Standard_DS5_v2.
- Untuk kluster GPU 10 node, gunakan Standard_NC12.
Untuk kluster yang lebih besar, gunakan node driver yang lebih besar.
Dapatkah saya menggunakan %sh pip
, !pip
, atau pip
? Apa bedanya?
%sh
dan !
jalankan perintah shell dalam notebook; yang pertama adalah perintah sihir tambahan Databricks sementara yang terakhir adalah fitur IPython. pip
adalah singkatan %pip
ketika automagic diaktifkan, yang merupakan default di notebook Azure Databricks Python.
Pada Databricks Runtime 11.3 LTS dan yang lebih baru, %pip
, %sh pip
, dan !pip
semua instal pustaka sebagai pustaka Python dengan cakupan buku catatan. Pada Databricks Runtime 10.4 LTS dan di bawahnya, Databricks merekomendasikan penggunaan hanya %pip
atau pip
untuk menginstal pustaka dengan cakupan buku catatan. %sh pip
Perilaku dan !pip
tidak konsisten dalam Databricks Runtime 10.4 LTS dan di bawahnya.
Masalah umum
- Pada Databricks Runtime 9.1 LTS, pustaka dengan cakupan notebook tidak kompatibel dengan pekerjaan streaming batch. Databricks merekomendasikan untuk menggunakan pustaka kluster atau kernel IPython sebagai gantinya.