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.
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. Você pode carregar bibliotecas Python, Java e Scala e apontar para pacotes externos nos repositórios PyPI, Maven e RAN.
O Azure Databricks inclui várias 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 fornece suporte comercial razoável para o ajudar a resolver problemas. O Suporte da Microsoft auxilia com o melhor esforço possível e pode ser capaz de resolver o problema. Para conectores open source e projetos alojados no GitHub, é recomendável que comunique os problemas no GitHub e os acompanhe. Esforços de desenvolvimento, como sombrear JARs ou criar bibliotecas Python, não são suportados através do processo padrão de submissão de casos de suporte: exigem 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 de comunidades. Dois exemplos são a página do Microsoft Q&A para o Azure Databricks e o 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 Python, JAR e R. Consulte Bibliotecas abrangidas por computação.
Você pode instalar uma biblioteca com escopo de cálculo diretamente das seguintes origens:
- Um repositório de pacotes, como PyPI, Maven ou CRAN
- Arquivos de espaço de trabalho
- Volumes do Catálogo Unity
- Um local de armazenamento de objetos na nuvem
- Um caminho na sua máquina local
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 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. Veja O armazenamento de bibliotecas na raiz do DBFS foi descontinuado e desativado por padrã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.
Para obter informações completas sobre o suporte à biblioteca, consulte Suporte à biblioteca Python, Suporte à biblioteca Java e Scala e Suporte à biblioteca R.
Recomendações para carregar bibliotecas
O Databricks suporta a maioria das instalações de configuração de bibliotecas Python, JAR e R, mas há alguns cenários sem suporte. É 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 à biblioteca Python
A tabela a seguir indica a compatibilidade da versão do Databricks Runtime para arquivos de roda Python 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.
No Databricks Runtime 15.0 e superior, você pode usar arquivos requirements.txt para gerenciar suas dependências do Python. Esses arquivos podem ser carregados para qualquer local de origem suportado.
Nota
A instalação de ficheiros egg Python só é suportada no Databricks Runtime 13.3 LTS e inferior, e apenas para modos dedicados de acesso partilhado ou sem isolamento. Além disso, não é possível instalar arquivos Python egg em volumes ou arquivos de espaço de trabalho. Use arquivos de roda Python ou instale pacotes 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 |
Suporte a bibliotecas Java e 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 limitadas ao notebook, disponíveis em Python e R, permitem instalar bibliotecas e criar um ambiente específico 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.
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 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 as bibliotecas diretamente na imagem ou utilizar scripts 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.
| Origem 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 fonte 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. Não há suporte para caminhos com o protocolo de Armazenamento do Azure Data Lake abfss://. |
Adicione uma URL pré-assinada como um nome de pacote a um arquivo YAML do ambiente base. Não há suporte para caminhos com o protocolo de Armazenamento do Azure Data Lake abfss://. |
Selecione caminho do arquivo/ADLS como a origem. | Adicione um novo objeto egg ou whl às bibliotecas de trabalho e especifique o caminho do Armazenamento do Azure Data Lake como o campo package. |
Precedência da biblioteca 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 arquivos 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.
- Bibliotecas no diretório de trabalho atual (somente pastas Git).
- Bibliotecas no diretório raiz da pasta Git (somente pastas Git).
- Bibliotecas com escopo de bloco de anotações (
%pip installem blocos de anotações). - Bibliotecas com escopo de computação (usando a interface do usuário, CLI ou API).
- 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.
- Bibliotecas no diretório de trabalho atual (não em pastas Git).
- Arquivos de espaço de trabalho anexados a
sys.path.