Databricks ativo Bundles biblioteca dependencies
Este artigo descreve a sintaxe para declarar as dependências da biblioteca Databricks ativo Bundles. Os pacotes permitem o gerenciamento programático do Databricks fluxo de trabalho. Veja o que são Databricks ativo Bundles?
Além do Notebook, seu Databricks Job provavelmente dependerá da biblioteca para funcionar como esperado. Databricks As dependências do ativo Bundles para o desenvolvimento local são especificadas no arquivo requirements*.txt
na raiz do projeto do bundle, mas as dependências do Job tarefa biblioteca são declaradas nos arquivos de configuração do bundle e geralmente são necessárias como parte da especificação do tipo do Job tarefa.
Os pacotes oferecem suporte às seguintes dependências de biblioteca para Databricks Job:
- Python wheel arquivo
- Arquivo JAR (Java ou Scala)
- PyPI, Maven, ou CRAN pacote
O fato de uma biblioteca ser ou não suportada depende da configuração de clustering do Job e da origem da biblioteca. Para obter informações completas sobre o suporte da biblioteca, consulte biblioteca.
Python wheel arquivo
Para adicionar um arquivo Python wheel a uma tarefa de trabalho, 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 na nuvem ou um caminho de arquivo local.
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 o upload de todas as bibliotecas, incluindo Python biblioteca, JAR arquivos e Spark conectores, para workspace arquivos ou Unity Catalog volumes, ou usando repositórios de pacotes de biblioteca. Se 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 na nuvem.
O exemplo a seguir mostra como instalar três arquivos Python wheel para uma tarefa de trabalho.
- O primeiro arquivo Python wheel foi carregado anteriormente para o 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 de trabalho, em libraries
especifique um mapeamento jar
para cada biblioteca a ser instalada. O senhor pode instalar um JAR a partir de arquivos workspace, volumes Unity Catalog, armazenamento de objetos na nuvem ou um caminho de arquivo local.
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 o upload de todas as bibliotecas, incluindo Python biblioteca, JAR arquivos e Spark conectores, para workspace arquivos ou Unity Catalog volumes, ou usando repositórios de pacotes de biblioteca. Se 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 na nuvem.
O exemplo a seguir mostra como instalar um arquivo JAR que foi carregado anteriormente no volume denominado my-volume
na pasta Databricks workspace.
resources:
jobs:
my_job:
# ...
tasks:
- task_key: my_task
# ...
libraries:
- jar: /Volumes/main/default/my-volume/my-java-library-1.0.jar
Para obter um exemplo que constrói e implanta o JAR, consulte Bundle that upload a JAR file to Unity Catalog.
PyPI pacote
Para adicionar um pacote PyPI a uma definição de tarefa de trabalho, 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 opcional da versão exata também é suportada. - Opcionalmente, para
repo
, especifique o repositório onde o pacote PyPI pode ser encontrado. Se não for especificado, será usado o índice defaultpip
(https://pypi.org/simple/).
O exemplo a seguir mostra como instalar dois pacotes PyPI.
- O primeiro pacote PyPI usa a versão de pacote especificada e o índice default
pip
. - O segundo pacote PyPI usa a versão do pacote especificada e o índice
pip
explicitamente especificado.
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 de trabalho, 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 repositório Maven para instalar o pacote Maven. Se omitido, o Repositório Central Maven e o Repositório de pacotes 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 Central Maven e no Repositório de pacotes Spark.
- O segundo pacote Maven usa as coordenadas de pacote especificadas, procura esse pacote apenas no Repositório Central Maven e não inclui nenhuma das dependências desse pacote que correspondam 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*