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.restartPython
v 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í restartPython
resetuje. 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
, adl
a 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. version
extras
a repo
jsou volitelné. Pomocí argumentu extras
urč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 version
extras
nemohou být součástí řetězce balíčku PyPI. Příklad: dbutils.library.installPyPI("azureml-sdk[databricks]==1.19.0")
není platný. version
extras
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)
Aktualizuje prostředí Conda aktuálního poznámkového bloku na základě obsahu souboru 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
""")