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

Uwaga

dbutils.library.install Interfejsy API i dbutils.library.installPyPI są usuwane w środowisku Databricks Runtime 11.0 lub nowszym. Większość poleceń narzędzi biblioteki jest przestarzała. Większość narzędzi biblioteki nie jest dostępna w środowisku Databricks Runtime ML. Aby uzyskać informacje na dbutils.library.restartPythontemat usługi , zobacz Ponowne uruchamianie procesu języka 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.

Usługa Databricks zdecydowanie zaleca używanie %pip poleceń magic do instalowania bibliotek o zakresie notesu. Zobacz Biblioteki języka Python o zakresie notesu.

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

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

Narzędzie biblioteki umożliwia zainstalowanie bibliotek języka Python i utworzenie środowiska o określonym zakresie w sesji notesu. 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 biblioteki notesu, które mają być zorganizowane w samym notesie.
  • Użytkownicy notesu z różnymi zależnościami biblioteki, aby udostępnić klaster bez zakłóceń.

Odłączanie notesu niszczy to środowisko. Można go jednak odtworzyć, uruchamiając ponownie polecenia interfejsu API biblioteki install w notesie. Zobacz interfejs API, restartPython aby dowiedzieć się, jak zresetować stan notesu bez utraty środowiska.

Narzędzia biblioteki są domyślnie włączone. W związku z tym domyślnie środowisko języka Python dla każdego notesu jest izolowane przy użyciu oddzielnego pliku wykonywalnego języka Python tworzonego podczas dołączania notesu i dziedziczy domyślne środowisko języka Python w klastrze. Biblioteki zainstalowane za pomocą skryptu inicjowania w środowisku języka Python usługi 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ą biblioteki w całym klastrze za pośrednictwem interfejsu użytkownika i interfejsu API bibliotek. 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)

Mając ścieżkę do biblioteki, instaluje ją w bieżącej sesji notesu. Biblioteki zainstalowane przez wywołanie tego polecenia są dostępne tylko dla bieżącego notesu.

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 Program jest usuwany w środowisku Databricks Runtime 11.0 lub nowszym.

Usługa Databricks zaleca umieszczenie wszystkich poleceń instalacji biblioteki w pierwszej komórce notesu i wywołanie 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

Pliki kół niestandardowych można zainstalować bezpośrednio przy użyciu 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 jaj nie są obsługiwane przez narzędzie pip, a pliki wheel są uważane za standard kompilacji i pakowania binarnego dla języka Python. Jeśli jednak chcesz użyć pliku jajowego w sposób zgodny z usługą %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")

installPyPI — polecenie (dbutils.library.installPyPI)

Biorąc pod uwagę pakiet PyPI (Python Package Index), zainstaluj ten pakiet w bieżącej sesji notesu. Biblioteki zainstalowane przez wywołanie tego polecenia są izolowane mię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 wymagania).

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 Program jest usuwany w środowisku Databricks Runtime 11.0 lub nowszym.

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. version Użyj argumentów iextras, aby określić wersję i dodatkowe informacje 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 dbutils.library.installPyPI poleceń polecenia %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 dotyczące biblioteki w jednym notesie i instaluje 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 notesu za pośrednictwem narzędzia biblioteki. 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)

Aktualizacje środowiska 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
""")