Compartilhar dados usando o protocolo Delta Sharing Databricks-to-Databricks (para provedores)
Este artigo fornece uma visão geral de como usar o Databricks-to-Databricks Delta Sharing para compartilhar dados com segurança com qualquer usuário do Databricks, independentemente da conta ou do host na nuvem, desde que esse usuário tenha acesso a um espaço de trabalho habilitado para o Unity Catalog.
Nota
Se você for um destinatário de dados (um usuário ou grupo de usuários com quem os dados do Databricks estão sendo compartilhados), consulte Acessar dados compartilhados com você usando o Compartilhamento Delta (para destinatários).
Quem deve usar o Databricks-to-Databricks Delta Sharing?
Há três maneiras de compartilhar dados usando o Delta Sharing.
O protocolo de compartilhamento Databricks-to-Databricks, abordado neste artigo, permite que você compartilhe dados de seu espaço de trabalho habilitado para Catálogo Unity com usuários que também têm acesso a um espaço de trabalho Databricks habilitado para Catálogo Unity.
Essa abordagem usa o servidor de Compartilhamento Delta que é incorporado ao Azure Databricks e fornece suporte para compartilhamento de bloco de anotações, governança de dados do Catálogo Unity, auditoria e rastreamento de uso para provedores e destinatários. A integração com o Unity Catalog simplifica a configuração e a governança para provedores e destinatários e melhora o desempenho.
O protocolo de compartilhamento aberto Databricks permite compartilhar dados gerenciados em um espaço de trabalho Databricks habilitado para Unity Catalog, com usuários em qualquer plataforma de computação.
Consulte Compartilhar dados usando o protocolo de compartilhamento aberto Delta Sharing (para provedores).
Uma implementação gerenciada pelo cliente do servidor de código aberto Delta Sharing permite que você compartilhe de qualquer plataforma para qualquer plataforma, seja Databricks ou não.
Para obter uma introdução ao Delta Sharing e mais informações sobre essas três abordagens, consulte O que é Delta Sharing?.
Fluxo de trabalho de compartilhamento delta de Databricks para Databricks
Esta seção fornece uma visão geral de alto nível do fluxo de trabalho de compartilhamento de Databricks para Databricks, com links para documentação detalhada para cada etapa.
No modelo de compartilhamento delta Databricks-to-Databricks:
Um destinatário de dados fornece a um provedor de dados o identificador de compartilhamento exclusivo para o metastore Databricks Unity Catalog anexado ao espaço de trabalho Databricks que o destinatário (que representa um usuário ou grupo de usuários) usará para acessar os dados que o provedor de dados está compartilhando.
Para obter detalhes, consulte Etapa 1: solicitar o identificador de compartilhamento do destinatário.
O provedor de dados cria um compartilhamento no metastore do Unity Catalog do provedor. Esse objeto nomeado contém uma coleção de tabelas, exibições, volumes e blocos de anotações registrados no metastore.
Para obter detalhes, consulte Criar e gerenciar compartilhamentos para compartilhamento Delta.
O provedor de dados cria um objeto de destinatário no metastore Unity Catalog do provedor. Esse objeto nomeado representa o usuário ou grupo de usuários que acessará os dados incluídos no compartilhamento, juntamente com o identificador de compartilhamento do metastore do Unity Catalog anexado ao espaço de trabalho que o usuário ou grupo de usuários usará para acessar o compartilhamento. O identificador de compartilhamento é o identificador de chave que permite a conexão segura.
Para obter detalhes, consulte Etapa 2: criar o destinatário.
O provedor de dados concede ao destinatário acesso ao compartilhamento.
Para obter detalhes, consulte Gerenciar o acesso a compartilhamentos de dados do Delta Sharing (para provedores).
O compartilhamento fica disponível no espaço de trabalho Databricks do destinatário e os usuários podem acessá-lo usando o Gerenciador de Catálogos, a CLI do Databricks ou comandos SQL em um bloco de anotações do Azure Databricks ou no editor de consultas Databricks SQL.
Para acessar as tabelas, exibições, volumes e blocos de anotações em um compartilhamento, um administrador de metastore ou usuário privilegiado deve criar um catálogo a partir do compartilhamento. Em seguida, esse usuário ou outro usuário ao qual é concedido o privilégio apropriado pode conceder a outros usuários acesso ao catálogo e aos objetos no catálogo. A concessão de permissões em catálogos compartilhados e ativos de dados funciona da mesma forma que com qualquer outro ativo registrado no Unity Catalog, com a importante distinção de que os usuários só podem receber acesso de leitura em objetos em catálogos criados a partir de compartilhamentos Delta Sharing.
Os blocos de anotações compartilhados vivem no nível do catálogo e qualquer usuário com o
USE CATALOG
privilégio no catálogo pode acessá-los.Para obter detalhes, consulte Ler dados compartilhados usando o compartilhamento delta de Databricks para Databricks (para destinatários).
Melhore o desempenho de leitura de tabelas com o compartilhamento de histórico
Importante
Este recurso está no Public Preview.
Os compartilhamentos de tabela Databricks-to-Databricks podem melhorar o desempenho permitindo o compartilhamento de histórico. O histórico de compartilhamento melhora o desempenho aproveitando as credenciais de segurança temporárias do seu armazenamento em nuvem, com escopo até o diretório raiz da tabela Delta compartilhada do provedor, resultando em um desempenho comparável ao acesso direto às tabelas de origem.
- Para novos compartilhamentos de tabela, especifique
WITH HISTORY
ao criar o compartilhamento de tabela. Consulte Adicionar tabelas a um compartilhamento. - Para compartilhamentos de tabela existentes, você deve alterar o compartilhamento para compartilhar o histórico da tabela. Consulte Atualizar compartilhamentos.
Nota
As tabelas com particionamento ativado não recebem os benefícios de desempenho do compartilhamento de histórico. Consulte Definir partições de tabela para partilhar
Privacidade de dados de compartilhamento de histórico
Os provedores devem estar cientes de que a partilha de histórico de Databricks-a-Databricks concede aos destinatários do Delta Sharing acesso de leitura temporário aos arquivos de dados e ao log Delta. O registo Delta contém o histórico de confirmação para cada versão da tabela, informações sobre quem fez a confirmação (semelhante ao histórico de confirmações do GitHub) e dados excluídos que não foram aspirados.