Pular para o conteúdo principal

Importe um provedor e leia os dados compartilhados no Databricks.

Como destinatário do Databricks, você pode importar um arquivo de credenciais de um provedor aberto e ler os ativos de dados compartilhados. Você pode consultar os dados compartilhados no Catalog Explorer ou usar um notebook Python.

nota

Se os dados foram compartilhados com você usando Databricks-to-Databricks OpenSharing, você não precisa de um arquivo de credenciais para acessar os dados, e esta página não se aplica a você. Em vez disso, consulte Ler dados compartilhados usando Databricks-to-Databricks OpenSharing (para destinatários).

Requisitos

Um membro da sua equipe deve fazer download do arquivo de credenciais que o provedor de dados compartilha e usar um canal seguro para compartilhar esse arquivo ou o local do arquivo com você. Consulte Obter acesso no modelo Open-to-Databricks.

nota

As capacidades do bucket de armazenamento e da credencial (escopo, expiração, leitura vs. leitura/gravação) são determinadas pelo provedor. Se o provedor for um provedor Databricks, a montagem de um compartilhamento aberto em um workspace do Secure Egress Gateway (SEG) adiciona automaticamente o bucket do provedor à lista de permissões para acesso de saída. Para provedores abertos que não são do Databricks, o bucket não é adicionado automaticamente à lista de permissões. Verifique o provedor antes de montar.

Importe um provedor e consulte dados compartilhados

Esta seção descreve como importar um provedor e como query os dados compartilhados no Catalog Explorer ou em um notebook Python:

  • Se seu workspace do Databricks estiver habilitado para o Unity Catalog, use a UI de Importar provedor no Catalog Explorer. Você pode fazer o seguinte sem precisar armazenar ou especificar um arquivo de credenciais:

    • Crie catálogos a partir de compartilhamentos com o clique de um botão.
    • Utilize os controles de acesso do Unity Catalog para conceder acesso a tabelas compartilhadas.
    • Query os dados compartilhados usando a sintaxe padrão do Unity Catalog.
    • Aplique uma credencial rotacionada ao objeto de provedor existente sem recriar o catálogo. Consulte Rotacionar credenciais para destinatários abertos.
  • Se seu Workspace do Databricks não estiver habilitado para o Unity Catalog, siga as instruções do notebook Python, em vez disso.

Explorador de Catálogos

Permissões necessárias : Um administrador de metastore ou um usuário com o privilégio CREATE PROVIDER para seu metastore do Unity Catalog. Para criar catálogos do compartilhamento, você precisa do privilégio CREATE CATALOG.

  1. No seu workspace do Databricks, clique em Ícone de dados. Catálogo para abrir o Catalog Explorer.

  2. Na parte superior do painel **Catálogo**, clique Ícone de engrenagem. em e selecione **OpenSharing**. Como alternativa, no canto superior direito, clique em **Compartilhar > OpenSharing**.

  3. Na tab Compartilhado comigo , clique em Instalar compartilhamento .

  4. Insira o nome do provedor. O nome não pode incluir espaços.

  5. Faça upload do arquivo de credenciais que o provedor compartilhou com você. Muitos provedores têm suas próprias redes OpenSharing das quais é possível receber compartilhamentos. Para obter mais informações, consulte Configurações específicas do provedor.

  6. (Opcional) Insira um comentário.

    Importe o arquivo de credenciais de um provedor diretamente de um provedor.

  7. Clique em Importar .

  8. Na **tab** **Compartilhamentos**, clique em **Criar catálogo** na linha de compartilhamento para criar catálogos a partir de dados compartilhados.

    Para informações sobre o uso de SQL ou da CLI do Databricks para criar um catálogo a partir de um compartilhamento, consulte Criar um catálogo a partir de um compartilhamento.

  9. Conceder acesso aos catálogos. Consulte Como faço para disponibilizar dados compartilhados para minha equipe? e Gerenciar permissões para os esquemas, tabelas e volumes em um catálogo OpenSharing.

  10. Leia os objetos de dados compartilhados da mesma forma que faria com qualquer objeto de dados registrado no Unity Catalog.

    Para detalhes e exemplos, consulte Acessar dados em uma tabela ou volume compartilhado.

Python

Leia os dados compartilhados usando um notebook em seu workspace do Databricks se seu workspace não estiver habilitado para o Unity Catalog. Armazene o arquivo de credenciais no Databricks, em seguida, use-o para autenticar-se no provedor de dados e ler os dados compartilhados.

nota

Estas instruções pressupõem que seu Workspace do Databricks não esteja habilitado para o Unity Catalog. Se estiver usando o Unity Catalog, não será necessário apontar para o arquivo de credenciais ao ler do compartilhamento. É possível ler de tabelas compartilhadas da mesma forma que se lê de qualquer tabela registrada no Unity Catalog. O Databricks recomenda que seja usada a IU do provedor de Importação no Catalog Explorer em vez das instruções fornecidas aqui.

Primeiro, armazene o arquivo de credenciais como um arquivo de workspace do Databricks para que os usuários da sua equipe possam acessar os dados compartilhados.

  1. Para importar o arquivo de credenciais em seu workspace do Databricks, consulte Importar um arquivo.
  2. Você pode conceder permissão a outros usuários para acessar o arquivo clicando em Ícone de menu kebab. ao lado do arquivo e, em seguida, em Compartilhar (Permissões) . Insira as identidades do Databricks que devem ter acesso ao arquivo. Para obter mais informações sobre permissões de arquivo, consulte ACLs de arquivo.

Agora que o arquivo de credenciais está armazenado, crie um notebook para listar e ler tabelas compartilhadas.

  1. No seu Workspace do Databricks, clique em Novo > Notebook . Para obter mais informações sobre notebooks do Databricks, consulte Notebooks do Databricks.

  2. Instale o conector delta-sharing e use Python, pandas ou Apache Spark para listar e ler as tabelas compartilhadas. Use o caminho do workspace para seu arquivo de credencial (por exemplo, /Workspace/Users/user.name@email.com/config.share) como o caminho do perfil. Para exemplos de código, consulte Pandas: Leia dados compartilhados e Apache Spark: Leia dados compartilhados.

  3. Além dos comandos Python e Apache Spark, é possível consultar dados compartilhados usando SQL. Crie uma tabela local no Workspace a partir da tabela compartilhada e, em seguida, query a tabela local. Os dados compartilhados não são armazenados ou armazenados em cache na tabela local. Cada vez que você consulta a tabela local, você vê o estado atual dos dados compartilhados.

    Substitua as variáveis da seguinte forma:

    • <local-table-name>: o nome da tabela local.
    • <profile-path>: o local do arquivo de credenciais.
    • <share-name>: o valor de share= para a tabela.
    • <schema-name>: o valor de schema= para a tabela.
    • <table-name>: o valor de name= para a tabela.
    %sql
    DROP TABLE IF EXISTS <local-table-name>;

    CREATE TABLE <local-table-name> USING deltaSharing LOCATION "<profile-path>#<share-name>.<schema-name>.<table-name>";

    SELECT * FROM <local-table-name> LIMIT 10;
  4. Quando você executa o comando, os dados compartilhados são consultados diretamente. Como teste, a tabela é consultada e os 10 primeiros resultados são retornados.

  5. Se o resultado estiver vazio ou não contiver os dados esperados, entre em contato com o provedor de dados.

As limitações do conector Python do OpenSharing se aplicam. Consulte limitações do conector Python do OpenSharing.

Limitações

O compartilhamento Open-to-Databricks é baseado no protocolo OpenSharing. O seguinte suporte se aplica quando você importa um provedor aberto para o Databricks:

  • Somente tabelas Delta que têm suporte ao protocolo Delta Sharing. Tabelas somente Iceberg não têm suporte.
  • Tanto o URL pré-assinado quanto o acesso por cloud token (baseado em diretório) são compatíveis. A Databricks prefere o acesso por token de nuvem quando o provedor o disponibiliza.
  • Apenas os seguintes esquemas de armazenamento de tokens em cloud são compatíveis: s3, s3a, s3n, abfss, wasbs, gs e r2.

Para ler dados que não sejam Delta, como Iceberg, CSV, Parquet ou JSON de uma fonte externa, utilize o Lakehouse Federation. Consulte Conectar-se a bancos de dados e catálogos externos.