Dependências da biblioteca do Databricks ativo Bundles
Este artigo descreve a sintaxe para declarar as dependências de biblioteca do Databricks ativo Bundles. Os pacotes permitem o gerenciamento programático do fluxo de trabalho da Databricks. Consulte O que são pacotes ativos da Databricks?
Além do Notebook, seu trabalho no Databricks provavelmente dependerá do biblioteca para funcionar como esperado. As dependências do Databricks ativo Bundles para desenvolvimento local são especificadas no arquivo requirements*.txt
na raiz do projeto do bundle, mas as dependências da biblioteca Job tarefa são declaradas nos arquivos de configuração do bundle e geralmente são necessárias como parte da especificação do tipoJob tarefa.
Os pacotes oferecem suporte às seguintes dependências de biblioteca para o Databricks Job:
Python wheel arquivo
Arquivo JAR (Java ou Scala)
Pacote PyPI, Maven ou CRAN
Observação
O fato de uma biblioteca ser ou não compatível depende da configuração do cluster do site Job e da origem da biblioteca. Para obter informações completas sobre o suporte da biblioteca, consulte Bibliotecas.
Python wheel arquivo
Para adicionar um arquivo Python wheel a uma tarefa Job, em libraries
especifique um mapeamento whl
para cada biblioteca a ser instalada. O senhor pode instalar um arquivo de roda a partir de arquivos workspace, volumes Unity Catalog, armazenamento de objetos cloud ou um caminho de arquivo local.
Importante
A biblioteca pode ser instalada a partir de DBFS ao usar Databricks Runtime 14.3 LTS e abaixo. No entanto, qualquer usuário do site workspace pode modificar os arquivos de biblioteca armazenados no site DBFS. Para aumentar a segurança da biblioteca em um Databricks workspace, o armazenamento de arquivos da biblioteca no DBFS root está obsoleto e desativado pelo default em Databricks Runtime 15.1 e acima. Consulte O armazenamento de biblioteca em DBFS root está obsoleto e desativado por default.
Em vez disso, o site Databricks recomenda fazer o upload de todas as bibliotecas, incluindo Python biblioteca, JAR arquivos e Spark conectores, para workspace arquivos ou Unity Catalog volumes, ou usar biblioteca pacote repositórios. Se a sua carga de trabalho não for compatível com esses padrões, o senhor também poderá usar a biblioteca armazenada no armazenamento de objetos cloud.
O exemplo a seguir mostra como instalar três arquivos de roda Python para uma tarefa Job.
O primeiro arquivo Python wheel foi carregado anteriormente no Databricks workspace ou adicionado como um item
include
no mapeamentosync
e está na mesma pasta local que o arquivo de configuração do pacote.O segundo arquivo Python wheel está no local especificado para os arquivos workspace no site Databricks workspace.
O terceiro arquivo Python wheel foi carregado anteriormente para o volume denominado
my-volume
no site Databricks workspace.
resources:
jobs:
my_job:
# ...
tasks:
- task_key: my_task
# ...
libraries:
- whl: ./my-wheel-0.1.0.whl
- whl: /Workspace/Shared/Libraries/my-wheel-0.0.1-py3-none-any.whl
- whl: /Volumes/main/default/my-volume/my-wheel-0.1.0.whl
Arquivo JAR
Para adicionar um arquivo JAR a uma tarefa Job, em libraries
especifique um mapeamento jar
para cada biblioteca a ser instalada. O senhor pode instalar um JAR a partir de arquivos workspace, volumes do Unity Catalog, armazenamento de objetos cloud ou um caminho de arquivo local.
Importante
A biblioteca pode ser instalada a partir de DBFS ao usar Databricks Runtime 14.3 LTS e abaixo. No entanto, qualquer usuário do site workspace pode modificar os arquivos de biblioteca armazenados no site DBFS. Para aumentar a segurança da biblioteca em um Databricks workspace, o armazenamento de arquivos da biblioteca no DBFS root está obsoleto e desativado pelo default em Databricks Runtime 15.1 e acima. Consulte O armazenamento de biblioteca em DBFS root está obsoleto e desativado por default.
Em vez disso, o site Databricks recomenda fazer o upload de todas as bibliotecas, incluindo Python biblioteca, JAR arquivos e Spark conectores, para workspace arquivos ou Unity Catalog volumes, ou usar biblioteca pacote repositórios. Se a sua carga de trabalho não for compatível com esses padrões, o senhor também poderá usar a biblioteca armazenada no armazenamento de objetos cloud.
O exemplo a seguir mostra como instalar um arquivo JAR que foi carregado anteriormente para o volume chamado my-volume
no Databricks workspace.
resources:
jobs:
my_job:
# ...
tasks:
- task_key: my_task
# ...
libraries:
- jar: /Volumes/main/default/my-volume/my-java-library-1.0.jar
PyPI pacote
Para adicionar um pacote PyPI a uma definição de tarefa Job, em libraries
, especifique um mapeamento pypi
para cada pacote PyPI a ser instalado. Para cada mapeamento, especifique o seguinte:
Para
package
, especifique o nome do pacote PyPI a ser instalado. Uma especificação de versão exata opcional também é suportada.Opcionalmente, para
repo
, especifique o repositório onde o pacote PyPI pode ser encontrado. Se não for especificado, o índicepip
default será usado (https://pypi.org/simple/).
O exemplo a seguir mostra como instalar dois pacotes PyPI.
O primeiro pacote PyPI usa a versão do pacote especificada e o índice
pip
default .O segundo pacote PyPI usa a versão do pacote especificada e o índice
pip
especificado explicitamente.
resources:
jobs:
my_job:
# ...
tasks:
- task_key: my_task
# ...
libraries:
- pypi:
package: wheel==0.41.2
- pypi:
package: numpy==1.25.2
repo: https://pypi.org/simple/
Maven pacote
Para adicionar um pacote Maven a uma definição de tarefa Job, em libraries
, especifique um mapeamento maven
para cada pacote Maven a ser instalado. Para cada mapeamento, especifique o seguinte:
Para
coordinates
, especifique as coordenadas Maven no estilo Gradle para o pacote.Opcionalmente, para
repo
, especifique o repo Maven do qual instalar o pacote Maven. Se omitido, tanto o repositório Maven Central quanto o repositório de pacote Spark serão pesquisados.Opcionalmente, para
exclusions
, especifique quaisquer dependências a serem excluídas explicitamente. Consulte Exclusões de dependência do Maven.
O exemplo a seguir mostra como instalar dois pacotes Maven.
O primeiro pacote Maven usa as coordenadas de pacote especificadas e procura esse pacote no repositório Maven Central e no repositório Spark Packages.
O segundo pacote Maven usa as coordenadas de pacote especificadas, procura este pacote apenas no repositório Maven Central e não inclui nenhuma dependência deste pacote que corresponda ao padrão especificado.
resources:
jobs:
my_job:
# ...
tasks:
- task_key: my_task
# ...
libraries:
- maven:
coordinates: com.databricks:databricks-sdk-java:0.8.1
- maven:
coordinates: com.databricks:databricks-dbutils-scala_2.13:0.1.4
repo: https://mvnrepository.com/
exclusions:
- org.scala-lang:scala-library:2.13.0-RC*