Partilhar via


Instalar bibliotecas

Para disponibilizar código personalizado ou de terceiros para blocos de anotações e trabalhos em execução em seus recursos de computação, você pode instalar uma biblioteca. As bibliotecas podem ser escritas em Python, Java, Scala e R. Podes carregar bibliotecas em Python, Java e Scala e apontar para pacotes externos em repositórios PyPI, Maven e CRAN.

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

Nota

O Suporte da Microsoft ajuda a isolar e resolver problemas relacionados com bibliotecas instaladas e mantidas pelo Azure Databricks. Para componentes de terceiros, incluindo bibliotecas, a Microsoft oferece suporte comercialmente razoável para ajudar a resolver problemas mais detalhados. O Suporte da Microsoft ajuda em regime de melhor esforço e pode resolver o problema. Para conectores e projetos open source alojados no Github, recomendamos que arquives os problemas no Github e os acompanhes. Esforços de desenvolvimento como shading jars ou construção de bibliotecas em Python não são suportados através do processo padrão de submissão de casos de suporte: requerem um envolvimento de consultoria para uma resolução mais rápida. O suporte pode pedir-lhe que recorra a outros canais para tecnologias de código aberto, onde poderá encontrar um conhecimento aprofundado. Existem vários sites comunitários; dois exemplos são a página do Microsoft Q&A para Azure Databricks e Stack Overflow.

Bibliotecas com abrangência de computação

Você pode instalar bibliotecas em um recurso de computação para que elas possam ser usadas por todos os blocos de anotações e trabalhos em execução na computação. O Databricks suporta bibliotecas de Python, JAR e R. Consulte Bibliotecas abrangidas por computação.

Você pode instalar uma biblioteca com escopo de cálculo diretamente das seguintes origens:

Nem todos os locais são suportados para todos os tipos de bibliotecas ou todas as configurações de computação. Consulte Recomendações para carregar bibliotecas para obter recomendações de configuração.

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 num espaço de trabalho Azure Databricks, o armazenamento de ficheiros de biblioteca na raiz do DBFS está obsoleto e desativado por padrão no Databricks Runtime 15.1 e superiores. Veja O armazenamento de bibliotecas na raiz do DBFS foi descontinuado e desativado por padrão.

Em vez disso, o Databricks recomenda carregar todas as bibliotecas, incluindo bibliotecas Python, ficheiros JAR e conectores Spark, para ficheiros do espaço de trabalho ou volumes do Unity Catalog. Alternativamente, pode usar 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.

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

Recomendações para carregar bibliotecas

O Databricks suporta a maioria das instalações de configuração das bibliotecas Python, JAR e R, mas existem alguns cenários não suportados. É recomendável que você carregue bibliotecas para locais de origem que suportem a instalação em computação com modo de acesso padrão (anteriormente modo de acesso compartilhado), pois esse é o modo recomendado para todas as cargas de trabalho. Consulte Modos de acesso. Ao agendar trabalhos com o modo de acesso padrão, execute o trabalho com uma entidade de serviço .

Importante

Use apenas computação com modo de acesso dedicado (anteriormente modo de acesso de usuário único) se a funcionalidade necessária não for suportada pelo modo de acesso padrão. O modo de acesso partilhado sem isolamento é uma configuração legada no Databricks que não é recomendada.

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

Configuração Recomendação
Databricks Runtime 13.3 LTS e versões posteriores com Unity Catalog Instale bibliotecas em computação com modo de acesso padrão do Unity Catalog volumes com GRANT READ para os usuários necessários.
Se aplicável, as coordenadas 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 Instale bibliotecas a partir de ficheiros de espaço de trabalho. (O limite de tamanho do ficheiro é de 500 MB.)
Databricks Runtime 10.4 LTS ou anteriores Instale bibliotecas a partir do armazenamento de objetos na nuvem.

Suporte a bibliotecas Python

A tabela seguinte indica a compatibilidade da versão de runtime do Databricks para ficheiros de roda Python para diferentes modos de acesso de computação, com base na localização da fonte da biblioteca. Consulte Notas de versão do Databricks Runtime, versões e compatibilidade e modos de acesso.

No Databricks Runtime 15.0 e superiores, pode usar ficheiros requirements.txt para gerir as suas dependências Python. Esses arquivos podem ser carregados para qualquer local de origem suportado.

Nota

A instalação de ficheiros egg em Python só é suportada no Databricks Runtime 13.3 LTS e versões anteriores, e apenas para modos de acesso partilhado dedicado ou sem isolamento. Além disso, não pode instalar ficheiros egg do Python em volumes ou fichários de espaço de trabalho. Use ficheiros de roda Python ou instale pacotes a partir do PyPI em vez disso.

Modo de acesso padrão Modo de acesso dedicado Sem modo de acesso compartilhado de isolamento (Legado)
PyPI 13.3 LTS e versões superiores Todas as versões suportadas do Databricks Runtime Todas as versões suportadas do Databricks Runtime
Arquivos de espaço de trabalho 13.3 LTS e versões superiores 13.3 LTS e versões superiores 14.1 e superior
Volumes 13.3 LTS e versões superiores 13.3 LTS e versões superiores Não suportado
Armazenamento na nuvem 13.3 LTS e versões superiores 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 inferior 14.3 e inferior

Java e suporte a bibliotecas Scala

A tabela a seguir indica a compatibilidade da versão do Databricks Runtime para arquivos JAR para diferentes modos de acesso de computação com base no local de origem da biblioteca. Consulte Notas de versão do Databricks Runtime, versões e compatibilidade e modos de acesso.

Para obter detalhes sobre como implantar arquivos JAR Scala em um cluster habilitado para Catálogo Unity no modo de acesso padrão, consulte Tutorial: Executar código Scala em computação sem servidor. Observe que nos clusters padrão do Unity Catalog, as classes nas bibliotecas JAR devem estar em um pacote nomeado, como com.databricks.MyClass, ou ocorrerão erros ao importar a biblioteca.

Nota

O modo de acesso padrão requer que um administrador adicione as coordenadas e caminhos Maven para bibliotecas JAR a um allowlist. Consulte bibliotecas de Lista de Permissões e scripts de inicialização em computadores com o modo de acesso padrão (anteriormente modo de acesso compartilhado).

Modo de acesso padrão Modo de acesso dedicado Sem modo de acesso compartilhado de isolamento (Legado)
Maven 13.3 LTS e versões superiores Todas as versões suportadas do Databricks Runtime Todas as versões suportadas do Databricks Runtime
Arquivos de espaço de trabalho Não suportado Não suportado 14.1 e superior
Volumes 13.3 LTS e versões superiores 13.3 LTS e versões superiores Não suportado
Armazenamento na nuvem 13.3 LTS e versões superiores 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 inferior 14.3 e inferior

Suporte à biblioteca R

A tabela a seguir indica a compatibilidade da versão do Databricks Runtime para pacotes CRAN para diferentes modos de acesso de computação. Consulte Notas de versão do Databricks Runtime, versões e compatibilidade e modos de acesso.

Modo de acesso padrão Modo de acesso dedicado Sem 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

Identidade do instalador

Quando você instala uma biblioteca a partir de arquivos de espaço de trabalho ou volumes do catálogo Unity, uma identidade pode ser associada à instalação, dependendo do modo de acesso de computação. A identidade deve ter permissões de leitura do ficheiro da biblioteca.

Modo de acesso padrão Modo de acesso dedicado Sem modo de acesso compartilhado de isolamento (Legado)
A identidade do usuário que instala a biblioteca A identidade do responsável principal dedicado Sem identidade

Bibliotecas com âmbito de notebook

As bibliotecas com âmbito de caderno, disponíveis para Python e R, permitem instalar bibliotecas e criar um ambiente com âmbito para uma sessão de caderno. Essas bibliotecas não afetam outros cadernos executados no mesmo ambiente de computação. As bibliotecas com escopo de notebook não persistem e têm de ser reinstaladas em cada sessão. Utilize bibliotecas de âmbito notebook quando precisar de um ambiente personalizado para um notebook específico.

Nota

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

Importante

As bibliotecas de espaço de trabalho foram preteridas e não devem ser usadas. Consulte Bibliotecas de espaço de trabalho (legado). No entanto, o armazenamento de bibliotecas como arquivos de espaço de trabalho é distinto das bibliotecas de espaço de trabalho e ainda é totalmente suportado. Você pode instalar bibliotecas armazenadas como ficheiros do espaço de trabalho diretamente para tarefas de computação ou de processamento.

Gestão de ambientes Python

A tabela seguinte apresenta uma visão geral das opções que pode usar para instalar bibliotecas Python no Azure Databricks.

Nota

  • Contêineres personalizados que usam um ambiente baseado em conda não são compatíveis com bibliotecas com escopo de notebook e com bibliotecas de computação no Databricks Runtime 10.4 LTS e superior. Em vez disso, o Azure Databricks recomenda instalar bibliotecas diretamente na imagem ou usar scripts de init. Para continuar usando bibliotecas de computação nesses cenários, você pode definir o Spark como spark.databricks.driverNfs.clusterWidePythonLibsEnabled. O suporte para a configuração do Spark será removido em ou após 31 de dezembro de 2021.
Fonte do pacote Python Bibliotecas com âmbito de bloco de notas com %pip Bibliotecas com escopo de Notebook com ficheiro YAML de ambiente base Bibliotecas específicas de computação Bibliotecas de tarefas com a API de tarefas
PyPI Utilize %pip install. Veja o exemplo. Adicione um nome de pacote PyPI a um arquivo YAML do ambiente base. Veja o exemplo. Selecione PyPI como fonte. Adicione um novo objeto pypi às bibliotecas de trabalhos e especifique o campo package.
Espelho PyPI privado, como Nexus ou Artifactory Utilize %pip install com a opção --index-url. A gestão de segredos está disponível. Veja o exemplo. Adicione o -–index-url a um arquivo YAML do ambiente base. A gestão de segredos está disponível. Veja o exemplo. Não suportado. Não suportado.
VCS, como o GitHub, com código bruto Utilize %pip install e especifique o URL do repositório como nome do pacote. Veja o exemplo. Adicione uma URL de repositório como um nome de pacote a um arquivo YAML do ambiente base. Veja o exemplo. Selecione PyPI como o de origem e especifique a URL do repositório como o nome do pacote. Adicione um novo objeto pypi às bibliotecas de trabalhos e especifique o URL do repositório como campo package.
Sistema de Controle de Versões privado com código fonte não processado Utilize %pip install e especifique o URL do repositório com autenticação básica como nome do pacote. A gestão de segredos está disponível. Veja o exemplo. Adicione um repositório com autenticação básica como o nome do pacote a um arquivo YAML do ambiente base. Veja o exemplo. Não suportado. Não suportado.
Caminho do ficheiro Utilize %pip install. Veja o exemplo. Adicione um caminho de arquivo como um nome de pacote a um arquivo YAML do ambiente base. Veja o exemplo. Selecione caminho do arquivo/ADLS como a origem. Adicione um novo egg ou whl objeto às bibliotecas de tarefas e especifique o caminho do arquivo como o package campo.
Azure Data Lake Storage Use %pip install junto com uma URL pré-assinada. Caminhos com o protocolo Azure Data Lake Storage abfss:// não são suportados. Adicione uma URL pré-assinada como um nome de pacote a um arquivo YAML do ambiente base. Caminhos com o protocolo Azure Data Lake Storage abfss:// não são suportados. Selecione caminho do arquivo/ADLS como a origem. Adicione um novo objeto egg ou whl às bibliotecas de trabalhos e especifique o caminho Azure Data Lake Storage como campo package.

Precedência da biblioteca em Python

Você pode encontrar uma situação em que precise substituir a versão de uma biblioteca interna ou ter uma biblioteca personalizada que entre em conflito no nome com outra biblioteca instalada no recurso de computação. Quando executas import <library>, importa-se a biblioteca com maior precedência.

Importante

As bibliotecas armazenadas em ficheiros de espaço de trabalho têm precedência diferente dependendo de como são adicionadas 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 notebooks fora das pastas Git adicionam o diretório de trabalho atual após a instalação de outras bibliotecas. Se você anexar manualmente diretórios de espaço de trabalho ao seu caminho, eles sempre terão a menor precedência.

A lista a seguir ordena a precedência do mais alto para o mais baixo. Nesta lista, um número menor significa maior precedência.

  1. Bibliotecas no diretório de trabalho atual (somente pastas Git).
  2. Bibliotecas no diretório raiz da pasta Git (somente pastas Git).
  3. Bibliotecas com escopo de bloco de anotações (%pip install em blocos de anotações).
  4. Bibliotecas com escopo de computação (usando a interface do usuário, CLI ou API).
  5. Bibliotecas incluídas no Databricks Runtime.
    • As bibliotecas instaladas com scripts init podem ser resolvidas antes ou depois das bibliotecas internas, dependendo de como são instaladas. O Databricks não recomenda a instalação de bibliotecas com scripts init.
  6. Bibliotecas no diretório de trabalho atual (não em pastas Git).
  7. Arquivos de espaço de trabalho anexados a sys.path.