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 do DBFS ao usar o Databricks Runtime 14.3 LTS e o abaixo. No entanto, qualquer usuário do site workspace pode modificar os arquivos de biblioteca armazenados no DBFS. Para melhorar a segurança das bibliotecas em um Databricks workspace, o armazenamento de arquivos de biblioteca no DBFS root está obsoleto e desativado pelo default no Databricks Runtime 15.0 e acima. Consulte O armazenamento de biblioteca em DBFS root está obsoleto e desativado por default.

Em vez disso, a Databricks recomenda fazer o upload da biblioteca para arquivos workspace ou volumes do Unity Catalog, ou usar repositórios de pacotes de biblioteca. 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 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.

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 do DBFS ao usar o Databricks Runtime 14.3 LTS e o abaixo. No entanto, qualquer usuário do site workspace pode modificar os arquivos de biblioteca armazenados no DBFS. Para melhorar a segurança das bibliotecas em um Databricks workspace, o armazenamento de arquivos de biblioteca no DBFS root está obsoleto e desativado pelo default no Databricks Runtime 15.0 e acima. Consulte O armazenamento de biblioteca em DBFS root está obsoleto e desativado por default.

Em vez disso, a Databricks recomenda fazer o upload da biblioteca para arquivos workspace ou volumes do Unity Catalog, ou usar repositórios de pacotes de biblioteca. 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 índice pip 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*