Bibliotecas

Para disponibilizar códigos de terceiros ou personalizados para o Notebook e o Job em execução em seus clusters, o senhor pode instalar uma biblioteca. O biblioteca pode ser escrito em Python, Java, Scala e R. O senhor pode upload biblioteca Python, Java e Scala e apontar para pacotes externos nos repositórios PyPI, Maven e CRAN.

O Databricks inclui muitas bibliotecas comuns no Databricks Runtime. Para ver quais bibliotecas estão incluídas no Databricks Runtime, consulte a subseção Ambiente do Sistema das notas de versão do Databricks Runtime para sua versão do Databricks Runtime.

biblioteca com escopo de clusters

O senhor pode instalar a biblioteca em clusters para que ela possa ser usada por todos os Notebooks e trabalhos em execução nos clusters. O Databricks é compatível com Python, JAR e R biblioteca. Ver clusters biblioteca.

Você pode instalar uma biblioteca de cluster diretamente das seguintes fontes:

Nem todos os locais são compatíveis com todos os tipos de biblioteca ou com todas as configurações do site compute. Consulte Recomendações para upload de biblioteca para obter recomendações de configuração.

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.

Para obter informações completas sobre suporte à biblioteca, consulte Suporte à biblioteca Python, Suporte à biblioteca Java e Scala e Suporte à biblioteca R.

Recomendações para o upload da biblioteca

Databricks é compatível com a maioria das instalações de configuração de Python, JAR e R biblioteca, mas há alguns cenários sem suporte. Recomenda-se que o senhor upload biblioteca em locais de origem que suportem a instalação em compute com modo de acesso compartilhado, pois esse é o modo recomendado para todas as cargas de trabalho. Consulte Modos de acesso. Ao programar o trabalho com o modo de acesso compartilhado, o senhor executa o trabalho com uma entidade de serviço.

Importante

Use o site compute apenas com o modo de acesso de usuário único se a funcionalidade necessária não for compatível com o modo de acesso compartilhado. O modo de acesso compartilhado sem isolamento é uma configuração herdada em Databricks que não é recomendada.

A tabela a seguir fornece recomendações organizadas por versão do Databricks Runtime e habilitação do Unity Catalog.

Configuração

Recomendação

Databricks Runtime 13.3 LTS e acima com o Unity Catalog

Instale a biblioteca em compute com o modo de acesso compartilhado dos Unity Catalog volumes de com GRANT READ para todos os account usuários de .

Se aplicável, as coordenadas do Maven e os caminhos da biblioteca JAR precisam ser adicionados à lista de permissões.

Databricks Runtime 11.3 LTS e acima sem o Unity Catalog

Instalar a biblioteca a partir dos arquivos do espaço de trabalho. (O limite de tamanho do arquivo é de 500 MB).

Tempo de execução do Databricks 10.4 LTS e abaixo

Instalar a biblioteca a partir do armazenamento de objetos na nuvem.

Suporte à biblioteca Python

A tabela a seguir indica a compatibilidade da versão Databricks Runtime para arquivos Python wheel para diferentes modos de acesso cluster com base no local de origem da biblioteca. Consulte Databricks Runtime notas sobre as versões e modos de compatibilidade e acesso.

Em Databricks Runtime 15.0 e acima, o senhor pode usar os arquivos requirements.txt para gerenciar as dependências de Python. Esses arquivos podem ser carregados em qualquer local de origem compatível.

Observação

A instalação dos arquivos egg do Python só é compatível com o Databricks Runtime 13.3 LTS e abaixo, e somente para usuários únicos ou para modos de acesso compartilhado sem isolamento. Além disso, o senhor não pode instalar arquivos Python egg em volumes ou arquivos workspace. Em vez disso, use os arquivos de Python wheel ou instale o pacote de PyPI.

Modo de acesso compartilhado

Modo de acesso de usuário único

Nenhum modo de acesso compartilhado de isolamento (legado)

PyPI

13.3 LTS e acima

Todas as versões suportadas do Databricks Runtime

Todas as versões suportadas do Databricks Runtime

workspace arquivos

13.3 LTS e acima

13.3 LTS e acima

14.1 e acima

Volumes

13.3 LTS e acima

13.3 LTS e acima

Não suportado

armazenamento em nuvens

13.3 LTS e acima

Todas as versões suportadas do Databricks Runtime

Todas as versões suportadas do Databricks Runtime

DBFS (não recomendado)

Não suportado

14.3 e abaixo

14.3 e abaixo

Suporte a biblioteca Java e Scala

A tabela a seguir indica a compatibilidade da versão do Databricks Runtime para arquivos JAR para diferentes modos de acesso a clusters com base no local de origem da biblioteca. Consulte as notas do Databricks Runtime sobre as versões e os modos de compatibilidade e acesso.

Observação

O modo de acesso compartilhado exige que um administrador adicione coordenadas e caminhos do Maven para a biblioteca JAR a um allowlist. Consulte a biblioteca Allowlist e o script de inicialização em computecompartilhado.

Modo de acesso compartilhado

Modo de acesso de usuário único

Nenhum modo de acesso compartilhado de isolamento (legado)

Maven

13.3 LTS e acima

Todas as versões suportadas do Databricks Runtime

Todas as versões suportadas do Databricks Runtime

workspace arquivos

Não suportado

Não suportado

14.1 e acima

Volumes

13.3 LTS e acima

13.3 LTS e acima

Não suportado

armazenamento em nuvens

13.3 LTS e acima

Todas as versões suportadas do Databricks Runtime

Todas as versões suportadas do Databricks Runtime

DBFS (não recomendado)

Não suportado

14.3 e abaixo

14.3 e abaixo

Suporte à biblioteca R

A tabela a seguir indica a compatibilidade da versão do Databricks Runtime com o pacote CRAN para diferentes modos de acesso a clusters. Consulte as notas do Databricks Runtime sobre as versões e os modos de compatibilidade e acesso.

Modo de acesso compartilhado

Modo de acesso de usuário único

Nenhum modo de acesso compartilhado de isolamento (legado)

CRAN

Não suportado

Todas as versões suportadas do Databricks Runtime

Todas as versões suportadas do Databricks Runtime

Notebook-biblioteca com escopo

As bibliotecas com escopo para notebooks, disponíveis para Python e R, permitem que você instale bibliotecas e crie um ambiente com escopo para uma sessão de notebooks. Essas bibliotecas não afetam outros blocos de anotações em execução no mesmo cluster. As bibliotecas com escopo de notebook não persistem e devem ser reinstaladas para cada sessão. Use bibliotecas com escopo de bloco de anotações quando precisar de um ambiente personalizado para um bloco de anotações específico.

Observação

Os JARs não podem ser instalados no nível Notebook.

Importante

workspace biblioteca foram descontinuados e não devem ser usados. Consulte Workspace biblioteca (legado). No entanto, o armazenamento de biblioteca como arquivos workspace é diferente de workspace biblioteca e ainda é totalmente compatível. O senhor pode instalar a biblioteca armazenada como arquivos workspace diretamente na tarefa compute ou Job.

Gerenciamento de ambiente Python

A tabela a seguir fornece uma visão geral das opções que você pode usar para instalar bibliotecas Python no Databricks.

Fonte do pacote Python

Bibliotecas com escopo para notebooks com %pip

Notebook-Biblioteca com escopo com arquivo YAML de ambiente básico

Bibliotecas de cluster

BibliotecaJob com API de empregos

PyPI

Use %pip install. Veja exemplo.

Adicionar um nome de pacote PyPI a um arquivo YAML de ambiente básico. Veja o exemplo.

Selecione PyPI como fonte.

Adicione um novo objeto pypi às bibliotecas de job e especifique o campo package .

Espelho do PyPI privado, como Nexus ou Artifactory

Use %pip install com a opção --index-url . O gerenciamento secreto está disponível. Veja exemplo.

Adicione o -–index-url a um arquivo YAML do ambiente base. O gerenciamento secreto está disponível. Veja o exemplo.

Não compatível.

Não compatível.

VCS, como GitHub, com fonte bruta

Use %pip install e especifique a URL do repositório como o nome do pacote. Veja exemplo.

Adicione um URL de repositório como um nome de pacote a um arquivo YAML de ambiente básico. Veja o exemplo.

Selecione PyPI como fonte e especifique a URL do repositório como o nome do pacote.

Adicione um novo objeto pypi às bibliotecas de job e especifique o URL do repositório como o campo package .

VCS privado com fonte bruta

Use %pip install e especifique a URL do repositório com autenticação básica como o nome do pacote. O gerenciamento secreto está disponível. Veja exemplo.

Adicione um repositório com autenticação básica como o nome do pacote a um arquivo YAML de ambiente básico. Veja o exemplo.

Não compatível.

Não compatível.

Caminho do arquivo

Use %pip install. Veja exemplo.

Adicione um caminho de arquivo como um nome de pacote a um arquivo YAML de ambiente básico. Veja o exemplo.

Selecione File path/GCS como a fonte.

Adicione um novo objeto egg ou whl às bibliotecas Job e especifique o caminho do arquivo como o campo package.

GCS

Use %pip install junto com um URL pré-assinado. Caminhos com o protocolo GCS gs:// não são suportados.

Adicione um URL pré-assinado como um nome de pacote a um arquivo YAML de ambiente básico. Não há suporte para caminhos com o protocolo GCS gs://.

Selecione File path/GCS como a fonte.

Adicione um novo objeto egg ou whl à biblioteca Job e especifique o caminho do GCS como o campo package.

Prioridade da biblioteca Python

Você pode se deparar com uma situação em que precise substituir a versão de uma biblioteca integrada ou tenha uma biblioteca personalizada que entra em conflito no nome com outra biblioteca instalada no cluster.Quando você executa import <library>, a biblioteca com maior prioridade é importada.

Importante

biblioteca armazenados nos arquivos workspace têm precedência diferente, dependendo de como são adicionados ao Python sys.path. Uma pasta Git do Databricks adiciona o diretório de trabalho atual ao caminho antes de todas as outras bibliotecas, enquanto as pastas Git externas do Notebook adicionam o diretório de trabalho atual após a instalação de outras bibliotecas. Se o senhor anexar manualmente os diretórios workspace ao seu caminho, eles sempre terão a precedência mais baixa.

A lista a seguir ordena a prioridade da mais alta para a mais baixa. Nesta lista, um número menor significa maior prioridade.

  1. biblioteca no diretório de trabalho atual (somente pastas Git).

  2. biblioteca no diretório raiz da pasta Git (somente pastas Git).

  3. Bibliotecas com escopo de notebooks (em cadernos)%pip install.

  4. Bibliotecas de cluster (usando UI, CLI ou API).

  5. Bibliotecas incluídas no Databricks Runtime.

    • As bibliotecas instaladas com init script podem ser resolvidas antes ou depois das bibliotecas internas, dependendo de como foram instaladas. O Databricks não recomenda a instalação de bibliotecas com init scripts.

  6. biblioteca no diretório de trabalho atual (não nas pastas do Git).

  7. Arquivos do workspace adicionados ao sys.path.