Sdílet prostřednictvím


Nástroj knihovny (dbutils.library) (starší verze)

Poznámka:

dbutils.library.install a dbutils.library.installPyPI rozhraní API se odeberou v Databricks Runtime 11.0 a novějších. Většina příkazů nástroje knihovny je zastaralá. Většina nástrojů knihovny není v Databricks Runtime ML dostupná. Informace najdete dbutils.library.restartPythonv tématu Restartování procesu Pythonu v Azure Databricks.

Tato dokumentace byla vyřazena a nemusí být aktualizována. Produkty, služby nebo technologie uvedené v tomto obsahu se už nepodporují.

Databricks důrazně doporučuje používat %pip příkazy magic k instalaci knihoven s vymezeným poznámkovým blokem. Další informace najdete v tématu Knihovny Pythonu v rámci poznámkových bloků

Úplnou dokumentaci k funkcím nástrojů Databricks najdete v referenčních informacích k nástrojům Databricks (dbutils).

Příkazy: install, installPyPI, list, restartPython), updateCondaEnv

Nástroj knihovny umožňuje nainstalovat knihovny Pythonu a vytvořit prostředí s vymezeným oborem relace poznámkového bloku. Knihovny jsou k dispozici na ovladači i na exekutorech, takže na ně můžete odkazovat v uživatelem definovaných funkcích. To umožňuje:

  • Závislosti knihovny poznámkového bloku, které se mají uspořádat do samotného poznámkového bloku.
  • Uživatelé poznámkového bloku s různými závislostmi knihovny ke sdílení clusteru bez rušení

Odpojení poznámkového bloku zničí toto prostředí. Můžete ho ale znovu vytvořit opětovným spuštěním příkazů rozhraní API knihovny install v poznámkovém bloku. restartPython V rozhraní API se dozvíte, jak můžete resetovat stav poznámkového bloku bez ztráty prostředí.

Nástroje knihovny jsou ve výchozím nastavení povolené. Proto je prostředí Pythonu pro každý poznámkový blok ve výchozím nastavení izolované pomocí samostatného spustitelného souboru Pythonu, který se vytvoří při připojení poznámkového bloku a dědí výchozí prostředí Pythonu v clusteru. Knihovny nainstalované prostřednictvím inicializačního skriptu do prostředí Pythonu Azure Databricks jsou stále dostupné. Tuto funkci můžete zakázat nastavením spark.databricks.libraryIsolation.enabled na false.

Toto rozhraní API je kompatibilní s existující instalací knihovny pro celý cluster prostřednictvím uživatelského rozhraní a rozhraní API knihoven. Knihovny nainstalované prostřednictvím tohoto rozhraní API mají vyšší prioritu než knihovny pro celý cluster.

Seznam dostupných příkazů zobrazíte spuštěním dbutils.library.help()příkazu .

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 command (dbutils.library.install)

Vzhledem k cestě ke knihovně se tato knihovna nainstaluje v rámci aktuální relace poznámkového bloku. Knihovny nainstalované voláním tohoto příkazu jsou k dispozici pouze pro aktuální poznámkový blok.

Chcete-li zobrazit nápovědu pro tento příkaz, spusťte dbutils.library.help("install")příkaz .

Tento příklad nainstaluje v poznámkovém bloku knihovnu .egg nebo .whl knihovnu.

Důležité

dbutils.library.install je odebrán v Databricks Runtime 11.0 a vyšší.

Databricks doporučuje umístit všechny příkazy pro instalaci knihovny do první buňky poznámkového bloku a zavolat restartPython na konec této buňky. Stav poznámkového bloku Pythonu se po spuštění restartPythonresetuje. Poznámkový blok ztratí veškerý stav, včetně místních proměnných, importovaných knihoven a dalších dočasných stavů. Proto doporučujeme nainstalovat knihovny a obnovit stav poznámkového bloku v první buňce poznámkového bloku.

Přijaté zdroje knihovny jsou dbfs, abfss, adla 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.

Poznámka:

Soubory vlastních kol můžete přímo nainstalovat pomocí %pip. V následujícím příkladu předpokládáme, že jste nahráli soubor kola knihovny do DBFS:

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

Soubory egg nejsou podporovány nástrojem pip a soubory kol jsou považovány za standard pro sestavení a binární balení pro Python. Pokud ale chcete použít soubor vejce způsobem, který je kompatibilní s %pip, můžete použít následující alternativní řešení:

# 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 command (dbutils.library.installPyPI)

Vzhledem k balíčku indexu balíčků Pythonu (PyPI) nainstalujte tento balíček v aktuální relaci poznámkového bloku. Knihovny nainstalované voláním tohoto příkazu jsou izolované mezi poznámkovými bloky.

Chcete-li zobrazit nápovědu pro tento příkaz, spusťte dbutils.library.help("installPyPI")příkaz .

Tento příklad nainstaluje balíček PyPI do poznámkového bloku. versionextras a repojsou volitelné. Pomocí argumentu extrasurčete funkci Extra (další požadavky).

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.

Důležité

dbutils.library.installPyPI je odebrán v Databricks Runtime 11.0 a vyšší.

Klíče versionextras nemohou být součástí řetězce balíčku PyPI. Příklad: dbutils.library.installPyPI("azureml-sdk[databricks]==1.19.0") není platný. versionextras Pomocí argumentů zadejte verzi a další informace následujícím způsobem:

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.

Poznámka:

Při nahrazování dbutils.library.installPyPI příkazů příkazy %pip se interpret Pythonu automaticky restartuje. Instalační příkaz můžete spustit následujícím způsobem:

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

Tento příklad určuje požadavky na knihovnu v jednom poznámkovém bloku a nainstaluje je pomocí %run druhého poznámkového bloku. Uděláte to tak, že nejprve definujete knihovny, které se mají nainstalovat do poznámkového bloku. Tento příklad používá poznámkový blok s názvem 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.

Pak je nainstalujte do poznámkového bloku, který tyto závislosti potřebuje.

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

Tento příklad resetuje stav poznámkového bloku Pythonu při údržbě prostředí. Tato technika je dostupná jenom v poznámkových blocích Pythonu. Pomocí této techniky můžete například znovu načíst knihovny Azure Databricks předinstalované s jinou verzí:

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

Tuto techniku můžete použít také k instalaci knihoven, jako je tensorflow, které je potřeba načíst při spuštění procesu:

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

list command (dbutils.library.list)

Zobrazí seznam izolovaných knihoven přidaných pro aktuální relaci poznámkového bloku prostřednictvím nástroje knihovny. Nezahrnuje knihovny, které jsou připojené ke clusteru.

Chcete-li zobrazit nápovědu pro tento příkaz, spusťte dbutils.library.help("list")příkaz .

Tento příklad uvádí seznam knihoven nainstalovaných v poznámkovém bloku.

dbutils.library.list()

Poznámka:

Ekvivalentem tohoto příkazu %pip je:

%pip freeze

příkaz updateCondaEnv (dbutils.library.updateCondaEnv)

Aktualizace prostředí Conda aktuálního poznámkového bloku na základě obsahu .environment.yml Tato metoda se podporuje jenom pro Databricks Runtime v Conda.

Chcete-li zobrazit nápovědu pro tento příkaz, spusťte dbutils.library.help("updateCondaEnv")příkaz .

Tento příklad aktualizuje prostředí Conda aktuálního poznámkového bloku na základě obsahu zadané specifikace.

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