Utilitário de biblioteca (dbutils.library) (legado)
Nota
dbutils.library.install
e dbutils.library.installPyPI
as APIs são removidas no Databricks Runtime 11.0 e superior. A maioria dos comandos do utilitário de biblioteca foram preteridos. A maioria dos utilitários de biblioteca não está disponível no Databricks Runtime ML. Para obter informações sobre dbutils.library.restartPython
o , consulte Reiniciar o processo Python no Azure Databricks.
Esta documentação foi desativada e pode não ser atualizada. Os produtos, serviços ou tecnologias mencionados neste conteúdo não são mais suportados.
O Databricks recomenda vivamente a utilização %pip
de comandos mágicos para instalar bibliotecas com âmbito de bloco de notas. Veja Bibliotecas em Python com âmbito de bloco de notas.
Para obter a documentação completa sobre a funcionalidade de utilitários Databricks, consulte Referência de utilitários Databricks (dbutils).
Comandos: install, installPyPI, list, restartPython), updateCondaEnv
O utilitário de biblioteca permite que você instale bibliotecas Python e crie um ambiente com escopo para uma sessão de notebook. As bibliotecas estão disponíveis tanto no driver quanto nos executores, para que você possa consultá-las em funções definidas pelo usuário. Isto permite:
- Dependências de biblioteca de um bloco de anotações a serem organizadas dentro do próprio bloco de anotações.
- Usuários de bloco de anotações com diferentes dependências de biblioteca para compartilhar um cluster sem interferência.
Separar um notebook destrói esse ambiente. No entanto, você pode recriá-lo executando novamente os comandos da API da biblioteca install
no bloco de anotações. Consulte a API para saber como você pode redefinir o estado do restartPython
bloco de anotações sem perder o ambiente.
Os utilitários de biblioteca estão habilitados por padrão. Portanto, por padrão, o ambiente Python para cada bloco de anotações é isolado usando um executável Python separado que é criado quando o bloco de anotações é anexado e herda o ambiente Python padrão no cluster. As bibliotecas instaladas por meio de um script init no ambiente Python do Azure Databricks ainda estão disponíveis. Você pode desativar esse recurso definindo spark.databricks.libraryIsolation.enabled
como false
.
Essa API é compatível com a instalação de biblioteca existente em todo o cluster por meio da interface do usuário e da API de bibliotecas. As bibliotecas instaladas por meio dessa API têm prioridade maior do que as bibliotecas em todo o cluster.
Para listar os comandos disponíveis, execute 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
comando install (dbutils.library.install)
Dado um caminho para uma biblioteca, instala essa biblioteca na sessão de bloco de anotações atual. As bibliotecas instaladas chamando este comando estão disponíveis apenas para o bloco de anotações atual.
Para exibir a ajuda para este comando, execute dbutils.library.help("install")
.
Este exemplo instala uma .egg
biblioteca ou .whl
em um bloco de anotações.
Importante
dbutils.library.install
é removido no Databricks Runtime 11.0 e superior.
O Databricks recomenda que você coloque todos os comandos de instalação da biblioteca na primeira célula do seu bloco de anotações e ligue restartPython
no final dessa célula. O estado do notebook Python é redefinido após a execução restartPython
, o notebook perde todo o estado, incluindo, mas não limitado a, variáveis locais, bibliotecas importadas e outros estados efêmeros. Portanto, recomendamos que você instale bibliotecas e redefina o estado do bloco de anotações na primeira célula do bloco de anotações.
As fontes de biblioteca aceitas são dbfs
, abfss
, adl
, e 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.
Nota
Você pode instalar diretamente arquivos de roda personalizados usando %pip
o . No exemplo a seguir, estamos supondo que você carregou seu arquivo de roda de biblioteca para DBFS:
%pip install /dbfs/path/to/your/library.whl
Os arquivos Egg não são suportados pelo pip, e os arquivos wheel são considerados o padrão para build e empacotamento binário para Python. No entanto, se você quiser usar um arquivo egg de uma forma compatível com %pip
o , você pode usar a seguinte solução alternativa:
# 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")
comando installPyPI (dbutils.library.installPyPI)
Dado um pacote Python Package Index (PyPI), instale esse pacote dentro da sessão atual do bloco de anotações. As bibliotecas instaladas chamando esse comando são isoladas entre os blocos de anotações.
Para exibir a ajuda para este comando, execute dbutils.library.help("installPyPI")
.
Este exemplo instala um pacote PyPI em um notebook. version
, repo
e extras
são opcionais. Use o extras
argumento para especificar o recurso Extras (requisitos extras).
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.
Importante
dbutils.library.installPyPI
é removido no Databricks Runtime 11.0 e superior.
As version
chaves e extras
não podem fazer parte da cadeia de caracteres do pacote PyPI. Por exemplo: dbutils.library.installPyPI("azureml-sdk[databricks]==1.19.0")
não é válido. Use os version
argumentos e extras
para especificar a versão e as informações extras da seguinte maneira:
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.
Nota
Ao substituir dbutils.library.installPyPI
comandos por %pip
comandos, o interpretador Python é reiniciado automaticamente. Você pode executar o comando install da seguinte maneira:
%pip install azureml-sdk[databricks]==1.19.0
Este exemplo especifica os requisitos de biblioteca em um bloco de anotações e os instala usando %run
no outro. Para fazer isso, primeiro defina as bibliotecas a serem instaladas em um notebook. Este exemplo usa um bloco de anotações chamado 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.
Em seguida, instale-os no notebook que precisa dessas dependências.
%run /path/to/InstallDependencies # Install the dependencies in the first cell.
import torch
from sklearn.linear_model import LinearRegression
import azureml
...
Este exemplo redefine o estado do bloco de anotações Python enquanto mantém o ambiente. Esta técnica está disponível apenas em blocos de notas Python. Por exemplo, você pode usar essa técnica para recarregar bibliotecas do Azure Databricks pré-instaladas com uma versão diferente:
dbutils.library.installPyPI("numpy", version="1.15.4")
dbutils.library.restartPython()
# Make sure you start using the library in another cell.
import numpy
Você também pode usar essa técnica para instalar bibliotecas como tensorflow que precisam ser carregadas na inicialização do processo:
dbutils.library.installPyPI("tensorflow")
dbutils.library.restartPython()
# Use the library in another cell.
import tensorflow
comando list (dbutils.library.list)
Lista as bibliotecas isoladas adicionadas para a sessão de bloco de anotações atual por meio do utilitário de biblioteca. Isso não inclui bibliotecas anexadas ao cluster.
Para exibir a ajuda para este comando, execute dbutils.library.help("list")
.
Este exemplo lista as bibliotecas instaladas em um bloco de anotações.
dbutils.library.list()
Nota
O equivalente a este comando usando %pip
é:
%pip freeze
comando updateCondaEnv (dbutils.library.updateCondaEnv)
Atualiza o ambiente Conda do notebook atual com base no conteúdo do environment.yml
. Este método é suportado apenas para Databricks Runtime no Conda.
Para exibir a ajuda para este comando, execute dbutils.library.help("updateCondaEnv")
.
Este exemplo atualiza o ambiente Conda do notebook atual com base no conteúdo da especificação fornecida.
dbutils.library.updateCondaEnv(
"""
channels:
- anaconda
dependencies:
- gensim=3.4
- nltk=3.4
""")