Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Este artigo descreve a sintaxe para declarar dependências da biblioteca Databricks Asset Bundles. Os pacotes permitem o gerenciamento programático de Lakeflow Jobs. Consulte O que são Databricks Asset Bundles?.
Além de blocos de anotações e arquivos de origem, seus trabalhos provavelmente dependerão de bibliotecas para funcionar conforme o esperado. As dependências da biblioteca são declaradas nos arquivos de configuração do pacote e geralmente são necessárias como parte da especificação do tipo de tarefa de trabalho .
Os pacotes fornecem suporte para as seguintes dependências de biblioteca:
- Arquivo de roda Python
- Arquivo JAR (Java ou Scala)
- Pacotes PyPI, Maven ou CRAN
Para Python, você também pode especificar dependências de tarefas de trabalho em um requirements.txt arquivo e incluí-las em seu pacote. Consulte Python requirements.txt.
Nota
O suporte para uma biblioteca depende da configuração do cluster e da origem da biblioteca. Para obter informações completas de suporte à biblioteca, consulte Instalar bibliotecas.
Arquivo de roda Python
Para adicionar um arquivo de roda Python a uma tarefa de trabalho, especifique libraries um whl mapeamento para cada biblioteca a ser instalada. Você pode instalar um arquivo de roda a partir de arquivos de espaço de trabalho, volumes do Catálogo Unity, armazenamento de objetos na nuvem ou um caminho de arquivo local.
Importante
As bibliotecas podem ser instaladas a partir do DBFS ao usar o Databricks Runtime 14.3 LTS e inferior. No entanto, qualquer usuário do espaço de trabalho pode modificar arquivos de biblioteca armazenados no DBFS. Para melhorar a segurança das bibliotecas em um espaço de trabalho do Azure Databricks, o armazenamento de arquivos de biblioteca na raiz DBFS é preterido e desabilitado por padrão no Databricks Runtime 15.1 e superior. Consulte O armazenamento de bibliotecas na raiz do DBFS está obsoleto e desativado por predefinição.
Em vez disso, o Databricks recomenda fazer o upload de todas as bibliotecas, incluindo bibliotecas Python, arquivos JAR e conectores Spark, para ficheiros de espaço de trabalho ou volumes do Catálogo Unity, ou utilizar repositórios de pacotes de bibliotecas. Se sua carga de trabalho não oferecer suporte a esses padrões, você também poderá usar bibliotecas armazenadas no armazenamento de objetos na nuvem.
O exemplo a seguir mostra como instalar três arquivos de roda Python para uma tarefa de trabalho.
- O primeiro arquivo de roda Python foi carregado anteriormente no espaço de trabalho do Azure Databricks ou adicionado como um
includeitem nosyncmapeamento e está na mesma pasta local que o arquivo de configuração do pacote. - O segundo arquivo de roda Python está no local dos arquivos de espaço de trabalho especificados no espaço de trabalho do Azure Databricks.
- O terceiro arquivo de roda Python foi carregado anteriormente no volume nomeado
my-volumeno espaço de trabalho do Azure Databricks.
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 (Java ou Scala)
Para adicionar um ficheiro JAR a uma tarefa, especifique um mapeamento librariesjar para cada biblioteca a ser instalada. Você pode instalar um JAR a partir de volumes do Catálogo Unity, armazenamento de objetos na nuvem ou um caminho de arquivo local.
Importante
As bibliotecas podem ser instaladas a partir do DBFS ao usar o Databricks Runtime 14.3 LTS e inferior. No entanto, qualquer usuário do espaço de trabalho pode modificar arquivos de biblioteca armazenados no DBFS. Para melhorar a segurança das bibliotecas em um espaço de trabalho do Azure Databricks, o armazenamento de arquivos de biblioteca na raiz DBFS é preterido e desabilitado por padrão no Databricks Runtime 15.1 e superior. Consulte O armazenamento de bibliotecas na raiz do DBFS está obsoleto e desativado por predefinição.
Em vez disso, o Databricks recomenda fazer o upload de todas as bibliotecas, incluindo bibliotecas Python, arquivos JAR e conectores Spark, para ficheiros de espaço de trabalho ou volumes do Catálogo Unity, ou utilizar repositórios de pacotes de bibliotecas. Se sua carga de trabalho não oferecer suporte a esses padrões, você também poderá usar bibliotecas armazenadas no armazenamento de objetos na nuvem.
O exemplo a seguir mostra como instalar um arquivo JAR que foi carregado anteriormente no volume nomeado my-volume no espaço de trabalho do Azure Databricks.
resources:
jobs:
my_job:
# ...
tasks:
- task_key: my_task
# ...
libraries:
- jar: /Volumes/main/default/my-volume/my-java-library-1.0.jar
Para ver uma configuração que compila e implementa o JAR, consulte Bundle que carrega um JAR no Unity Catalog. Para obter um tutorial que cria um projeto de pacote que cria e implanta um JAR Scala, consulte Criar um JAR Scala usando Databricks Asset Bundles.
Pacote PyPI
Para adicionar um pacote PyPI a uma definição de tarefa de trabalho, em libraries, especifique um pypi mapeamento 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 padrãopipserá 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 padrão
pip. - O segundo pacote PyPI usa a versão do pacote especificada e o índice explicitamente especificado
pip.
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/
Pacote Maven
Para adicionar um pacote Maven a uma definição de tarefa, 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 a partir do qual instalar o pacote Maven. Se omitido, o Repositório Central do Maven e o Repositório de Pacotes do Spark serão pesquisados. - Opcionalmente, para
exclusions, especifique quaisquer dependências a serem excluídas explicitamente. Consulte Exclusões de dependências 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 Maven Central Repository e no Spark Packages Repository.
- O segundo pacote Maven usa as coordenadas de pacote especificadas, procura esse pacote somente no Maven Central Repository e não inclui nenhuma das dependências deste 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*
Python requirements.txt
As dependências da biblioteca Python também podem ser especificadas em um requirements*.txt arquivo incluído como parte da definição da tarefa de trabalho. O caminho para o arquivo pode ser um caminho local, um caminho de espaço de trabalho ou um caminho de volume do Catálogo Unity.
resources:
jobs:
my_job:
# ...
tasks:
- task_key: my_task
# ...
libraries:
- requirements: ./local/path/requirements.txt