Pular para o conteúdo principal

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
nota

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.

important

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 mapeamento sync 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.
YAML
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.

important

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.

YAML
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 default pip (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.
YAML
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.
YAML
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*
Esse artigo foi útil?