Narzędzie biblioteki (dbutils.library) (starsza wersja)

Uwaga

Interfejsy API dbutils.library.install i dbutils.library.installPyPI zostały usunięte w Databricks Runtime 11.0 i nowszych wersjach. Większość poleceń narzędziowych biblioteki została oznaczona jako przestarzałe. Większość narzędzi biblioteki nie jest dostępna w środowisku Databricks Runtime ML. Aby uzyskać informacje o dbutils.library.restartPython, zobacz Ponowne uruchamianie procesu Python w usłudze Azure Databricks.

Ta dokumentacja została wycofana i może nie zostać zaktualizowana. Produkty, usługi lub technologie wymienione w tej zawartości nie są już obsługiwane.

Databricks zdecydowanie zaleca używanie poleceń magicznych %pip do instalowania bibliotek o zakresie notesu. Zobacz biblioteki Pythona na poziomie notesu.

Aby uzyskać pełną dokumentację dotyczącą funkcji narzędzi usługi Databricks, zobacz Dokumentacja narzędzi usługi Databricks (dbutils).

Polecenia: install, installPyPI, list, restartPython), updateCondaEnv

Narzędzie do obsługi bibliotek umożliwia instalowanie bibliotek języka Python i tworzenie środowiska ograniczonego do sesji notatnika. Biblioteki są dostępne zarówno w sterowniku, jak i w funkcjach wykonawczych, dzięki czemu można odwoływać się do nich w funkcjach zdefiniowanych przez użytkownika. Umożliwia to:

  • Zależności bibliotek uporządkowane w samym notatniku.
  • Użytkownicy notatników z różnymi zależnościami bibliotek mogą współdzielić klaster bez wzajemnych zakłóceń.

Odłączenie notatnika spowoduje zniszczenie tego środowiska. Możesz go jednak odtworzyć, ponownie uruchamiając polecenia interfejsu API biblioteki install w notatniku. Informacje o tym, jak zresetować stan notatnika bez utraty swojego środowiska, znajdziesz w restartPython interfejsie API.

Narzędzia biblioteki są domyślnie włączone. W związku z tym domyślnie środowisko Python dla każdego notatnika jest izolowane za pomocą oddzielnego pliku wykonywalnego Python, który jest tworzony po dołączeniu notatnika i dziedziczy domyślne środowisko Python klastra. Biblioteki zainstalowane za pomocą skryptu inicjującego w środowisku Python platformy Azure Databricks są nadal dostępne. Tę funkcję można wyłączyć, ustawiając wartość spark.databricks.libraryIsolation.enabledfalse.

Ten interfejs API jest zgodny z istniejącą instalacją bibliotek dla całego klastra za pośrednictwem UI i Libraries API. Biblioteki zainstalowane za pośrednictwem tego interfejsu API mają wyższy priorytet niż biblioteki w całym klastrze.

Aby wyświetlić listę dostępnych poleceń, uruchom polecenie 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

install — polecenie (dbutils.library.install)

Podając ścieżkę do biblioteki, instaluje tę bibliotekę w bieżącej sesji notatnika. Biblioteki zainstalowane po wywołaniu tego polecenia są dostępne tylko w bieżącym notatniku.

Aby wyświetlić pomoc dotyczącą tego polecenia, uruchom polecenie dbutils.library.help("install").

W tym przykładzie zainstalowano bibliotekę .egg lub .whl w notesie.

Ważne

dbutils.library.install został usunięty w Databricks Runtime 11.0 i nowszych.

Databricks zaleca, aby wszystkie polecenia instalacji bibliotek umieścić w pierwszej komórce notesu i wywołać restartPython na końcu tej komórki. Stan notesu języka Python jest resetowany po uruchomieniu restartPython; notes traci cały stan, w tym między innymi zmienne lokalne, zaimportowane biblioteki i inne stany efemeryczne. Dlatego zalecamy zainstalowanie bibliotek i zresetowanie stanu notesu w pierwszej komórce notesu.

Zaakceptowane źródła bibliotek to dbfs, abfss, adli 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.

Uwaga

Niestandardowe pliki wheel można instalować bezpośrednio za pomocą polecenia %pip. W poniższym przykładzie zakładamy, że przekazano plik koła biblioteki do systemu plików DBFS:

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

Pliki egg nie są obsługiwane przez pip, a pliki wheel są uważane za standard w zakresie budowania i pakowania binarnego dla języka Python. Jeśli jednak chcesz użyć pliku egg w sposób zgodny z %pip, możesz użyć następującego obejścia:

# 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")

polecenie installPyPI (dbutils.library.installPyPI)

Biorąc pod uwagę pakiet PyPI (Python Package Index), zainstaluj ten pakiet w bieżącej sesji notesu. Biblioteki zainstalowane za pomocą tego polecenia są izolowane pomiędzy notesami.

Aby wyświetlić pomoc dotyczącą tego polecenia, uruchom polecenie dbutils.library.help("installPyPI").

W tym przykładzie pakiet PyPI jest instalowany w notesie. version, repoi extras są opcjonalne. Użyj argumentu extras, aby określić funkcję Dodatki (dodatkowe zależności).

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.

Ważne

dbutils.library.installPyPI został usunięty w Databricks Runtime 11.0 i nowszych.

Klucze version i extras nie mogą być częścią ciągu pakietu PyPI. Na przykład: dbutils.library.installPyPI("azureml-sdk[databricks]==1.19.0") jest nieprawidłowy. Użyj argumentów version i extras, aby określić wersję i informacje dodatkowe w następujący sposób:

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.

Uwaga

Podczas zastępowania poleceń dbutils.library.installPyPI poleceniami %pip interpreter języka Python jest automatycznie uruchamiany ponownie. Możesz uruchomić polecenie instalacji w następujący sposób:

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

W tym przykładzie określono wymagania biblioteki w jednym notatniku i zainstalowano je przy użyciu %run w drugim. W tym celu najpierw zdefiniuj biblioteki do zainstalowania w notesie. W tym przykładzie użyto notesu o nazwie 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.

Następnie zainstaluj je w notesie, który wymaga tych zależności.

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

W tym przykładzie stan notesu języka Python jest resetowany przy zachowaniu środowiska. Ta technika jest dostępna tylko w notesach języka Python. Możesz na przykład użyć tej techniki, aby ponownie załadować biblioteki usługi Azure Databricks wstępnie zainstalowane z inną wersją:

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

Możesz również użyć tej techniki, aby zainstalować biblioteki, takie jak tensorflow, które należy załadować podczas uruchamiania procesu:

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

list — polecenie (dbutils.library.list)

Wyświetla listę izolowanych bibliotek dodanych do bieżącej sesji notatnika za pośrednictwem narzędzia do obsługi bibliotek. Nie obejmuje to bibliotek dołączonych do klastra.

Aby wyświetlić pomoc dotyczącą tego polecenia, uruchom polecenie dbutils.library.help("list").

W tym przykładzie wymieniono biblioteki zainstalowane w notesie.

dbutils.library.list()

Uwaga

Odpowiednikiem tego polecenia jest %pip :

%pip freeze

updateCondaEnv — polecenie (dbutils.library.updateCondaEnv)

Aktualizuje środowisko Conda bieżącego notesu na podstawie zawartości environment.yml. Ta metoda jest obsługiwana tylko w przypadku środowiska Databricks Runtime w środowisku Conda.

Aby wyświetlić pomoc dotyczącą tego polecenia, uruchom polecenie dbutils.library.help("updateCondaEnv").

W tym przykładzie zaktualizowano środowisko Conda bieżącego notesu na podstawie zawartości podanej specyfikacji.

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