Bibliotheekhulpprogramma (dbutils.library) (verouderd)

Notitie

dbutils.library.install en dbutils.library.installPyPI API's worden verwijderd in Databricks Runtime 11.0 en hoger. De meeste opdrachten van het bibliotheekhulpprogramma zijn afgeschaft. De meeste bibliotheekhulpprogramma's zijn niet beschikbaar in Databricks Runtime ML. Zie Het Python-proces opnieuw starten in Azure Databricks voor meer informatiedbutils.library.restartPython.

Deze documentatie is buiten gebruik gesteld en wordt mogelijk niet bijgewerkt. De producten, services of technologieën die in deze inhoud worden genoemd, worden niet meer ondersteund.

Databricks raadt u ten zeerste aan om magic-opdrachten te gebruiken %pip om notebook-scoped bibliotheken te installeren. Zie Notebook-scoped Python libraries (Notebook-scoped Python-bibliotheken) voor meer informatie.

Zie de naslaginformatie over Databricks-hulpprogramma's (dbutils) voor volledige documentatie voor de functionaliteit van Databricks-hulpprogramma's.

Opdrachten: installeren, installPyPI, list, restartPython), updateCondaEnv

Met het bibliotheekhulpprogramma kunt u Python-bibliotheken installeren en een omgeving maken die is afgestemd op een notebooksessie. De bibliotheken zijn zowel beschikbaar in het stuurprogramma als op de uitvoerders, zodat u ernaar kunt verwijzen in door de gebruiker gedefinieerde functies. Dit maakt het volgende mogelijk:

  • Bibliotheekafhankelijkheden van een notebook die binnen het notitieblok zelf moeten worden ingedeeld.
  • Notebookgebruikers met verschillende bibliotheekafhankelijkheden om een cluster zonder interferentie te delen.

Als u een notebook loskoppelt, wordt deze omgeving vernietigd. U kunt deze echter opnieuw maken door de bibliotheek-API-opdrachten install opnieuw uit te voeren in het notebook. Zie de restartPython API voor hoe u de status van uw notebook opnieuw kunt instellen zonder uw omgeving te verliezen.

Bibliotheekhulpprogramma's zijn standaard ingeschakeld. Daarom wordt standaard de Python-omgeving voor elk notebook geïsoleerd met behulp van een afzonderlijk Uitvoerbaar Python-bestand dat wordt gemaakt wanneer het notebook is gekoppeld aan en de standaard Python-omgeving in het cluster over neemt. Bibliotheken die zijn geïnstalleerd via een init-script in de Azure Databricks Python-omgeving, zijn nog steeds beschikbaar. U kunt deze functie uitschakelen door deze instelling in te stellen spark.databricks.libraryIsolation.enabled op false.

Deze API is compatibel met de bestaande bibliotheekinstallatie voor het hele cluster via de GEBRUIKERSinterface en bibliotheken-API. Bibliotheken die via deze API zijn geïnstalleerd, hebben een hogere prioriteit dan bibliotheken voor het hele cluster.

Als u de beschikbare opdrachten wilt weergeven, voert u het volgende uit 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

opdracht installeren (dbutils.library.install)

Als u een pad naar een bibliotheek hebt, installeert u die bibliotheek in de huidige notebooksessie. Bibliotheken die zijn geïnstalleerd door deze opdracht aan te roepen, zijn alleen beschikbaar voor het huidige notebook.

Als u help voor deze opdracht wilt weergeven, voert u het volgende uit dbutils.library.help("install").

In dit voorbeeld wordt een .egg of .whl bibliotheek in een notebook geïnstalleerd.

Belangrijk

dbutils.library.install wordt verwijderd in Databricks Runtime 11.0 en hoger.

Databricks raadt u aan om alle installatieopdrachten van uw bibliotheek in de eerste cel van uw notebook te plaatsen en aan het einde van die cel aan te roepen restartPython . De status van het Python-notebook wordt opnieuw ingesteld nadat het is uitgevoerd restartPython. Het notebook verliest alle statussen, inclusief maar niet beperkt tot lokale variabelen, geïmporteerde bibliotheken en andere tijdelijke statussen. Daarom raden we u aan bibliotheken te installeren en de status van het notitieblok in de eerste notebookcel opnieuw in te stellen.

De geaccepteerde bibliotheekbronnen zijn dbfs, abfssen adlwasbs.

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.

Notitie

U kunt aangepaste wielbestanden rechtstreeks installeren met behulp van %pip. In het volgende voorbeeld gaan we ervan uit dat u uw bibliotheekwielbestand hebt geüpload naar DBFS:

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

Egg-bestanden worden niet ondersteund door pip en wielbestanden worden beschouwd als de standaard voor build- en binaire pakketten voor Python. Als u echter een eierbestand wilt gebruiken op een manier die compatibel is met %pip, kunt u de volgende tijdelijke oplossing gebruiken:

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

Als u een PyPI-pakket (Python Package Index) krijgt, installeert u dat pakket in de huidige notebooksessie. Bibliotheken die zijn geïnstalleerd door deze opdracht aan te roepen, worden geïsoleerd tussen notebooks.

Als u help voor deze opdracht wilt weergeven, voert u het volgende uit dbutils.library.help("installPyPI").

In dit voorbeeld wordt een PyPI-pakket in een notebook geïnstalleerd. version, repoen extras zijn optioneel. Gebruik het extras argument om de functie Extra's (extra vereisten) op te geven.

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.

Belangrijk

dbutils.library.installPyPI wordt verwijderd in Databricks Runtime 11.0 en hoger.

De version sleutels kunnen extras geen deel uitmaken van de PyPI-pakkettekenreeks. Bijvoorbeeld: dbutils.library.installPyPI("azureml-sdk[databricks]==1.19.0") is ongeldig. Gebruik de version en extras argumenten om de versie- en extragegevens als volgt op te geven:

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.

Notitie

Wanneer u opdrachten vervangt dbutils.library.installPyPI door %pip opdrachten, wordt de Python-interpreter automatisch opnieuw opgestart. U kunt de installatieopdracht als volgt uitvoeren:

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

In dit voorbeeld worden bibliotheekvereisten in het ene notebook opgegeven en geïnstalleerd met behulp van %run het andere notitieblok. Hiervoor definieert u eerst de bibliotheken die u in een notebook wilt installeren. In dit voorbeeld wordt een notebook met de naam InstallDependenciesgebruikt.

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.

Installeer ze vervolgens in het notebook dat deze afhankelijkheden nodig heeft.

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

In dit voorbeeld wordt de status van het Python-notebook opnieuw ingesteld terwijl de omgeving wordt onderhouden. Deze techniek is alleen beschikbaar in Python-notebooks. U kunt deze techniek bijvoorbeeld gebruiken om bibliotheken van Azure Databricks opnieuw te laden die vooraf zijn geïnstalleerd met een andere versie:

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

U kunt deze techniek ook gebruiken om bibliotheken te installeren, zoals tensorflow die moeten worden geladen bij het opstarten van het proces:

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

opdracht list (dbutils.library.list)

Een lijst met de geïsoleerde bibliotheken die zijn toegevoegd voor de huidige notebooksessie via het bibliotheekhulpprogramma. Dit omvat geen bibliotheken die zijn gekoppeld aan het cluster.

Als u help voor deze opdracht wilt weergeven, voert u het volgende uit dbutils.library.help("list").

In dit voorbeeld worden de bibliotheken weergegeven die zijn geïnstalleerd in een notebook.

dbutils.library.list()

Notitie

Het equivalent van deze opdracht is %pip :

%pip freeze

opdracht updateCondaEnv (dbutils.library.updateCondaEnv)

Hiermee wordt de Conda-omgeving van het huidige notebook bijgewerkt op basis van de inhoud van environment.yml. Deze methode wordt alleen ondersteund voor Databricks Runtime op Conda.

Als u help voor deze opdracht wilt weergeven, voert u het volgende uit dbutils.library.help("updateCondaEnv").

In dit voorbeeld wordt de Conda-omgeving van het huidige notebook bijgewerkt op basis van de inhoud van de opgegeven specificatie.

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