Bagikan melalui


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 menggunakan dbutils.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?

%shdan ! 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.