Compartilhar via


Instalar bibliotecas do armazenamento de objetos

Este artigo orientará você pelas etapas necessárias para instalar bibliotecas do armazenamento de objetos na nuvem no Azure Databricks.

Observação

Este artigo se refere ao armazenamento de objetos na nuvem como um conceito geral e pressupõe que você esteja interagindo diretamente com os dados armazenados no armazenamento de objetos usando URIs. O Databricks recomenda o uso de volumes do Catálogo Unity para configurar o acesso a arquivos no armazenamento de objetos na nuvem. Confira Criar e trabalhar com volumes.

Você pode armazenar bibliotecas JAR e Whl Python personalizadas no armazenamento de objetos na nuvem, em vez de armazená-las na raiz do DBFS. Consulte Bibliotecas com escopo de cluster para obter detalhes completos de compatibilidade da biblioteca.

Importante

As bibliotecas podem ser instaladas a partir do DBFS ao usar o Databricks Runtime 14.3 LTS e inferior. Porém, qualquer usuário do espaço de trabalho pode modificar os arquivos de biblioteca armazenados no DBFS. Para melhorar a segurança das bibliotecas em um workspace do Azure Databricks, o armazenamento de arquivos de biblioteca na raiz do DBFS foi preterido e desabilitado por padrão no Databricks Runtime 15.1 e em versões posteriores. Consulte O armazenamento de bibliotecas na raiz do DBFS é preterido e desabilitado por padrão.

Em vez disso, o Databricks recomenda carregar todas as bibliotecas, incluindo bibliotecas python, arquivos JAR e conectores Spark, para arquivos de workspace ou volumes do Catálogo do Unity ou usando repositórios de pacotes de biblioteca. Se sua carga de trabalho não der suporte a esses padrões, você também poderá usar bibliotecas armazenadas no armazenamento de objetos de nuvem.

Carregar bibliotecas para o armazenamento de objetos

Você pode carregar bibliotecas no armazenamento de objetos da mesma forma que carrega outros arquivos. Você deve ter as permissões adequadas em seu provedor de nuvem para criar novos contêineres de armazenamento de objetos ou carregar arquivos no armazenamento de objetos na nuvem.

Conceder permissões somente leitura ao armazenamento de objetos

O Databricks recomenda a configuração de todos os privilégios relacionados à instalação da biblioteca com permissões somente leitura.

O Azure Databricks permite que você atribua permissões de segurança a clusters individuais que governam o acesso aos dados no armazenamento de objetos na nuvem. Essas políticas podem ser expandidas para adicionar acesso somente leitura ao armazenamento de objetos na nuvem que contém bibliotecas.

Observação

No Databricks Runtime 12.2 LTS e versões anteriores, você não pode carregar bibliotecas JAR ao usar clusters com modos de acesso compartilhado. No Databricks Runtime 13.3 LTS e versões superiores, você deve adicionar bibliotecas JAR à lista de permissões do Catálogo do Unity. Consulte Bibliotecas de lista de permitidos e scripts de inicialização na computação compartilhada.

O Databricks recomenda usar as entidades de serviço do Microsoft Entra ID para gerenciar o acesso às bibliotecas armazenadas no Azure Data Lake Storage Gen2. Use a seguinte documentação vinculada para concluir esta configuração:

  1. Crie uma entidade de serviço com permissões de leitura e lista em seus blobs desejados. Consulte Acessar o armazenamento usando uma entidade de serviço e o Microsoft Entra ID (Azure Active Directory).

  2. Salve suas credenciais usando segredos. Confira Segredos.

  3. Defina as propriedades na configuração do Spark e variáveis ambientais ao criar um cluster, como no exemplo a seguir:

    Configuração do Spark:

    spark.hadoop.fs.azure.account.auth.type.<storage-account>.dfs.core.windows.net OAuth
    spark.hadoop.fs.azure.account.oauth.provider.type.<storage-account>.dfs.core.windows.net org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider
    spark.hadoop.fs.azure.account.oauth2.client.id.<storage-account>.dfs.core.windows.net <application-id>
    spark.hadoop.fs.azure.account.oauth2.client.secret.<storage-account>.dfs.core.windows.net {{secrets/<secret-scope>/<service-credential-key>}}
    spark.hadoop.fs.azure.account.oauth2.client.endpoint.<storage-account>.dfs.core.windows.net https://login.microsoftonline.com/<tenant-id>/oauth2/token
    

    Variáveis de ambiente:

    SERVICE_CREDENTIAL={{secrets/<secret-scope>/<service-credential-key>}}
    
  4. (Opcional) Refatorar scripts de inicialização usando azcopy ou a CLI do Azure.

    Você pode referenciar variáveis ambientais definidas durante a configuração do cluster em seus scripts de inicialização para passar credenciais armazenadas como segredos para validação.

Instalar bibliotecas em clusters

Para instalar uma biblioteca armazenada no armazenamento de objetos na nuvem em um cluster, conclua as etapas a seguir:

  1. Selecione um cluster na lista da interface do usuário de clusters.
  2. Selecione a guia Bibliotecas.
  3. Selecione a opção Caminho do arquivo/ADLS.
  4. Forneça o caminho completo do URI para o objeto da biblioteca (por exemplo, abfss://container-name@storage-account-name.dfs.core.windows.net/path/to/library.whl).
  5. Clique em Instalar.

Você também pode instalar bibliotecas usando a API REST ou a CLI.

Instalar bibliotecas em notebooks

Você pode usar %pip para instalar arquivos wheel Python personalizados armazenados no armazenamento de objetos com escopo para um SparkSession isolado de notebook. Para usar esse método, você deve armazenar as bibliotecas em um armazenamento de objetos legível publicamente ou usar uma URL pré-assinada.

Confira as bibliotecas Python no escopo do notebook.

Observação

As bibliotecas JAR não podem ser instaladas no notebook. Você deve instalar as bibliotecas JAR no nível do cluster.