Bagikan melalui


Utilitas pustaka (dbutils.library) (warisan)

Catatan

dbutils.library.install dan dbutils.library.installPyPI API dihapus dalam Databricks Runtime 11.0 ke atas. Sebagian besar perintah utilitas pustaka tidak digunakan lagi. Sebagian besar utilitas pustaka tidak tersedia di Databricks Runtime ML. Untuk informasi tentang dbutils.library.restartPython, lihat Memulai ulang proses Python di Azure Databricks.

Dokumentasi ini telah dihentikan dan mungkin tidak diperbarui. Produk, layanan, atau teknologi yang disebutkan dalam konten ini tidak lagi didukung.

Databricks sangat merekomendasikan penggunaan %pip perintah ajaib untuk menginstal pustaka cakupan buku catatan. Lihat Pustaka Python cakupan buku catatan.

Untuk dokumentasi lengkap untuk fungsionalitas utilitas Databricks, lihat Referensi Utilitas Databricks (dbutils).

Perintah: instal, installPyPI, list, restartPython), updateCondaEnv

Utilitas pustaka memungkinkan Anda menginstal pustaka Python dan membuat lingkungan yang dicakup ke sesi notebook. Pustaka tersedia baik di driver dan eksekutor, sehingga Anda dapat mereferensikannya dalam fungsi yang ditentukan pengguna. Hal ini memungkinkan:

  • Dependensi pustaka notebook yang akan diatur di dalam notebook itu sendiri.
  • Pengguna notebook dengan dependensi pustaka yang berbeda untuk berbagi kluster tanpa gangguan.

Mencopot notebook menghancurkan lingkungan ini. Namun, Anda dapat membuatnya kembali dengan menjalankan kembali perintah API pustaka install di notebook. Lihat API restartPython untuk cara mengatur ulang status notebook Anda tanpa kehilangan lingkungan Anda.

Utilitas pustaka diaktifkan secara default. Oleh karena itu, secara default lingkungan Python untuk setiap notebook diisolasi dengan menggunakan Python terpisah yang dapat dieksekusi yang dibuat ketika notebook dilampirkan dan mewarisi lingkungan Python default pada kluster. Pustaka yang diinstal melalui skrip init ke lingkungan Azure Databricks Python masih tersedia. Anda dapat menonaktifkan fitur ini dengan mengatur spark.databricks.libraryIsolation.enabled ke false.

API ini kompatibel dengan penginstalan pustaka di seluruh kluster yang ada melalui UI dan Libraries API. Pustaka yang diinstal melalui API ini memiliki prioritas yang lebih tinggi daripada pustaka di seluruh kluster.

Untuk mencantumkan perintah yang tersedia, jalankan dbutils.library.help().

install(path: String): boolean -> Install the library within the current notebook session
installPyPI(pypiPackage: String, version: String = "", repo: String = "", extras: String = ""): boolean -> Install the PyPI library within the current notebook session
list: List -> List the isolated libraries added for the current notebook session via dbutils
restartPython: void -> Restart python process for the current notebook session
updateCondaEnv(envYmlContent: String): boolean -> Update the current notebook's Conda environment based on the specification (content of environment

perintah install (dbutils.library.install)

Mengingat jalur ke pustaka, instal pustaka tersebut dalam sesi notebook saat ini. Pustaka yang diinstal dengan memanggil perintah ini hanya tersedia untuk notebook saat ini.

Untuk menampilkan bantuan untuk perintah ini, jalankan dbutils.library.help("install").

Contoh ini menginstal pustaka .egg atau .whl dalam notebook.

Penting

dbutils.library.install dihapus di Databricks Runtime 11.0 dan yang lebih baru.

Databricks merekomendasikan agar Anda meletakkan semua perintah penginstalan pustaka di sel pertama notebook Anda dan menelepon restartPython di akhir sel tersebut. Status notebook Python diatur ulang setelah berjalan restartPython; notebook kehilangan semua status termasuk namun tidak terbatas pada variabel lokal, pustaka yang diimpor, dan status sementara lainnya. Oleh karena itu, kami sarankan Anda menginstal pustaka dan mengatur ulang status notebook di sel notebook pertama.

Sumber pustaka yang diterima adalah dbfs, abfss, adl, dan wasbs.

dbutils.library.install("abfss:/path/to/your/library.egg")
dbutils.library.restartPython() # Removes Python state, but some libraries might not work without calling this command.
dbutils.library.install("abfss:/path/to/your/library.whl")
dbutils.library.restartPython() # Removes Python state, but some libraries might not work without calling this command.

Catatan

Anda dapat langsung menginstal file roda kustom menggunakan %pip. Dalam contoh berikut kami mengasumsikan Anda telah mengunggah file roda pustaka Anda ke DBFS:

%pip install /dbfs/path/to/your/library.whl

File telur tidak didukung oleh pip, dan file roda dianggap sebagai standar untuk build dan kemasan biner untuk Python. Namun, jika Anda ingin menggunakan file egg dengan cara yang kompatibel dengan %pip, Anda dapat menggunakan solusi berikut:

# This step is only needed if no %pip commands have been run yet.
# It will trigger setting up the isolated notebook environment
%pip install <any-lib>  # This doesn't need to be a real library; for example "%pip install any-lib" would work
import sys
# Assuming the preceding step was completed, the following command
# adds the egg file to the current notebook environment
sys.path.append("/local/path/to/library.egg")

perintah installPyPI (dbutils.library.installPyPI)

Mengingat Indeks Paket Python (PyPI), instal paket itu dalam sesi notebook saat ini. Pustaka yang diinstal dengan memanggil perintah ini diisolasi di antara notebook.

Untuk menampilkan bantuan untuk perintah ini, jalankan dbutils.library.help("installPyPI").

Contoh ini menginstal paket PyPI di notebook. version, repo, dan extras bersifat opsional. Gunakan argumen extras untuk menentukan fitur Ekstra (persyaratan ekstra).

dbutils.library.installPyPI("pypipackage", version="version", repo="repo", extras="extras")
dbutils.library.restartPython()  # Removes Python state, but some libraries might not work without calling this command.

Penting

dbutils.library.installPyPI dihapus di Databricks Runtime 11.0 dan yang lebih baru.

Kunci version dan extras tidak dapat menjadi bagian dari string paket PyPI. Misalnya: dbutils.library.installPyPI("azureml-sdk[databricks]==1.19.0") tidak valid. Gunakan argumen version dan extras untuk menentukan versi dan informasi tambahan sebagai berikut:

dbutils.library.installPyPI("azureml-sdk", version="1.19.0", extras="databricks")
dbutils.library.restartPython()  # Removes Python state, but some libraries might not work without calling this command.

Catatan

Saat mengganti perintah dbutils.library.installPyPI dengan perintah %pip, interpreter Python secara otomatis dimulai ulang. Anda dapat menjalankan perintah instal sebagai berikut:

%pip install azureml-sdk[databricks]==1.19.0

Contoh ini menentukan persyaratan pustaka dalam satu notebook dan menginstalnya dengan menggunakan %run di notebook lainnya. Untuk melakukan ini, pertama-tama tentukan pustaka yang akan diinstal di notebook. Contoh ini menggunakan notebook bernama InstallDependencies.

dbutils.library.installPyPI("torch")
dbutils.library.installPyPI("scikit-learn", version="1.19.1")
dbutils.library.installPyPI("azureml-sdk", extras="databricks")
dbutils.library.restartPython() # Removes Python state, but some libraries might not work without calling this command.

Kemudian instal di notebook yang membutuhkan dependensi tersebut.

%run /path/to/InstallDependencies # Install the dependencies in the first cell.
import torch
from sklearn.linear_model import LinearRegression
import azureml
...

Contoh ini mengatur ulang status notebook Python sambil menjaga lingkungan. Teknik ini hanya tersedia di notebook Python. Misalnya, Anda dapat menggunakan teknik ini untuk memuat ulang pustaka Azure Databricks yang sudah diinstal sebelumnya dengan versi yang berbeda:

dbutils.library.installPyPI("numpy", version="1.15.4")
dbutils.library.restartPython()
# Make sure you start using the library in another cell.
import numpy

Anda juga dapat menggunakan teknik ini untuk menginstal pustaka seperti tensorflow yang perlu dimuat pada proses memulai:

dbutils.library.installPyPI("tensorflow")
dbutils.library.restartPython()
# Use the library in another cell.
import tensorflow

perintah list (dbutils.library.list)

Mencantumkan pustaka terisolasi yang ditambahkan untuk sesi notebook saat ini melalui utilitas pustaka. Ini tidak termasuk pustaka yang dilampirkan ke kluster.

Untuk menampilkan bantuan untuk perintah ini, jalankan dbutils.library.help("list").

Contoh ini mencantumkan pustaka yang diinstal di notebook.

dbutils.library.list()

Catatan

Yang setara dengan perintah ini menggunakan %pip adalah:

%pip freeze

perintah updateCondaEnv (dbutils.library.updateCondaEnv)

Memperbarui lingkungan Conda notebook saat ini berdasarkan konten environment.yml. Metode ini hanya didukung untuk Databricks Runtime di Conda.

Untuk menampilkan bantuan untuk perintah ini, jalankan dbutils.library.help("updateCondaEnv").

Contoh ini memperbarui lingkungan Conda notebook saat ini berdasarkan konten spesifikasi yang disediakan.

dbutils.library.updateCondaEnv(
"""
channels:
  - anaconda
dependencies:
  - gensim=3.4
  - nltk=3.4
""")