Könyvtár segédprogram (dbutils.library) (örökölt)
Feljegyzés
dbutils.library.install
és dbutils.library.installPyPI
az API-k törlődnek a Databricks Runtime 11.0-s és újabb verziókban. A legtöbb kódtár-segédprogram parancsa elavult. A legtöbb kódtár-segédprogram nem érhető el a Databricks Runtime ML-ben. További információ dbutils.library.restartPython
: Python-folyamat újraindítása az Azure Databricksben.
Ez a dokumentáció ki lett állítva, és lehet, hogy nem frissül. A tartalomban említett termékek, szolgáltatások vagy technológiák már nem támogatottak.
A Databricks határozottan javasolja a magic parancsok használatát %pip
a jegyzetfüzet-hatókörű kódtárak telepítéséhez. Lásd: Jegyzetfüzet-hatókörön belüli Python-kódtárak.
A Databricks segédprogramok funkcióinak teljes dokumentációját a Databricks Utilities (dbutils) referenciájában találja.
Parancsok: install, installPyPI, list, restartPython), updateCondaEnv
A kódtár segédprogram segítségével Python-kódtárakat telepíthet, és létrehozhat egy jegyzetfüzet-munkamenetre hatókörrel rendelkező környezetet. A kódtárak az illesztőprogramon és a végrehajtókon is elérhetők, így a felhasználó által definiált függvényekben hivatkozhat rájuk. Ez a következőket teszi lehetővé:
- A jegyzetfüzetek könyvtárfüggőségei, hogy a jegyzetfüzeten belül legyenek rendszerezve.
- A különböző erőforrástár-függőségekkel rendelkező jegyzetfüzet-felhasználók interferencia nélkül oszthatnak meg egy fürtöt.
A jegyzetfüzet leválasztása elpusztítja ezt a környezetet. A tár install
API-parancsainak újrafuttatásával azonban újra létrehozhatja azt a jegyzetfüzetben. Tekintse meg az restartPython
API-t, amelyből megtudhatja, hogyan állíthatja alaphelyzetbe a jegyzetfüzet állapotát a környezet elvesztése nélkül.
A kódtár segédprogramok alapértelmezés szerint engedélyezve vannak. Ezért alapértelmezés szerint az egyes jegyzetfüzetekhez tartozó Python-környezet külön Python-végrehajtható fájl használatával van elkülönítve, amely akkor jön létre, amikor a jegyzetfüzet hozzá van kapcsolva, és örökli a fürt alapértelmezett Python-környezetét. Az Azure Databricks Python-környezetbe init szkripttel telepített kódtárak továbbra is elérhetők. Ezt a funkciót letilthatja a következő beállítással spark.databricks.libraryIsolation.enabled
false
: .
Ez az API kompatibilis a meglévő fürtszintű kódtár telepítésével a felhasználói felületen és a Könyvtárak API-val. Az API-val telepített kódtárak nagyobb prioritással rendelkeznek, mint a fürtszintű kódtárak.
Az elérhető parancsok listázásához futtassa a parancsot 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 command (dbutils.library.install)
Ha egy tár elérési útját adja meg, telepíti a tárat az aktuális jegyzetfüzet-munkameneten belül. A parancs meghívásával telepített kódtárak csak az aktuális jegyzetfüzet számára érhetők el.
A parancs súgójának megjelenítéséhez futtassa a parancsot dbutils.library.help("install")
.
Ez a példa egy vagy .whl
több .egg
tárat telepít egy jegyzetfüzeten belül.
Fontos
dbutils.library.install
a Databricks Runtime 11.0-s vagy újabb verziója törlődik.
A Databricks azt javasolja, hogy helyezze az összes kódtár telepítési parancsát a jegyzetfüzet első cellájába, és hívja restartPython
meg a cella végén. A Python-jegyzetfüzet állapota a futtatás restartPython
után alaphelyzetbe áll; a jegyzetfüzet elveszíti az összes állapotot, beleértve a helyi változókat, az importált kódtárakat és az egyéb rövid élettartamú állapotokat is. Ezért javasoljuk, hogy telepítse a kódtárakat, és állítsa alaphelyzetbe a jegyzetfüzet állapotát az első jegyzetfüzetcellában.
Az elfogadott erőforrástár-források a következőkdbfs
: , abfss
adl
és 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.
Feljegyzés
Egyéni kerékfájlokat közvetlenül is telepíthet a következő használatával %pip
: . Az alábbi példában feltételezzük, hogy feltöltötte a kódtár kerékfájlját a DBFS-be:
%pip install /dbfs/path/to/your/library.whl
A pip nem támogatja a tojásfájlokat, a kerékfájlok pedig a Python buildelési és bináris csomagolási szabványának minősülnek. Ha azonban egy tojásfájlt a kompatibilis %pip
módon szeretne használni, az alábbi kerülő megoldást használhatja:
# 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 parancs (dbutils.library.installPyPI)
Python-csomagindex (PyPI) esetén telepítse a csomagot az aktuális jegyzetfüzet-munkameneten belül. A parancs meghívásával telepített kódtárak elkülönítve vannak a jegyzetfüzetek között.
A parancs súgójának megjelenítéséhez futtassa a parancsot dbutils.library.help("installPyPI")
.
Ez a példa egy PyPI-csomagot telepít egy jegyzetfüzetbe. version
, repo
és extras
nem kötelező. extras
Az argumentum használatával adja meg az Extras funkciót (extra követelmények).
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.
Fontos
dbutils.library.installPyPI
a Databricks Runtime 11.0-s vagy újabb verziója törlődik.
A version
kulcsok és extras
a kulcsok nem lehetnek a PyPI-csomag sztringjének részei. Például: dbutils.library.installPyPI("azureml-sdk[databricks]==1.19.0")
érvénytelen. Az alábbi módon adja meg a version
extras
verzióra és az extrákra vonatkozó információkat az és az argumentumok használatával:
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.
Feljegyzés
Parancsok parancsokkal való %pip
cseréjekor dbutils.library.installPyPI
a Python-értelmező automatikusan újraindul. A telepítési parancsot a következőképpen futtathatja:
%pip install azureml-sdk[databricks]==1.19.0
Ez a példa az egyik jegyzetfüzet könyvtárkövetelményeit határozza meg, és a másikban való használatával %run
telepíti őket. Ehhez először határozza meg a jegyzetfüzetben telepíteni kívánt kódtárakat. Ez a példa egy .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.
Ezután telepítse őket a függőségeket igénylő jegyzetfüzetbe.
%run /path/to/InstallDependencies # Install the dependencies in the first cell.
import torch
from sklearn.linear_model import LinearRegression
import azureml
...
Ez a példa alaphelyzetbe állítja a Python-jegyzetfüzet állapotát a környezet fenntartása közben. Ez a technika csak Python-jegyzetfüzetekben érhető el. Ezt a technikát használhatja például egy másik verzióval előre telepített Azure Databricks-kódtárak újratöltésére:
dbutils.library.installPyPI("numpy", version="1.15.4")
dbutils.library.restartPython()
# Make sure you start using the library in another cell.
import numpy
Ezzel a technikával olyan kódtárakat is telepíthet, mint például a tensorflow, amelyeket be kell tölteni a folyamat indításakor:
dbutils.library.installPyPI("tensorflow")
dbutils.library.restartPython()
# Use the library in another cell.
import tensorflow
list parancs (dbutils.library.list)
Az aktuális jegyzetfüzet-munkamenethez a tár segédprogramon keresztül hozzáadott izolált kódtárakat sorolja fel. Ez nem tartalmazza a fürthöz csatolt kódtárakat.
A parancs súgójának megjelenítéséhez futtassa a parancsot dbutils.library.help("list")
.
Ez a példa a jegyzetfüzetben telepített kódtárakat sorolja fel.
dbutils.library.list()
Feljegyzés
Ennek a parancsnak a megfelelője %pip
a következő:
%pip freeze
updateCondaEnv parancs (dbutils.library.updateCondaEnv)
Frissítések az aktuális jegyzetfüzet Conda-környezetét a tartalom environment.yml
alapján. Ez a módszer csak a Condán futó Databricks Runtime esetében támogatott.
A parancs súgójának megjelenítéséhez futtassa a parancsot dbutils.library.help("updateCondaEnv")
.
Ez a példa frissíti az aktuális jegyzetfüzet Conda-környezetét a megadott specifikáció tartalma alapján.
dbutils.library.updateCondaEnv(
"""
channels:
- anaconda
dependencies:
- gensim=3.4
- nltk=3.4
""")