O que é o protocolo OpenSharing Databricks-to-Databricks?

Esta página fornece uma visão geral de como usar o Databricks-to-Databricks OpenSharing para compartilhar dados com segurança com qualquer usuário do Databricks, independentemente da conta ou host de nuvem, desde que esse usuário tenha acesso a um workspace habilitado para o Catálogo do Unity.

Quem deve usar o Databricks-to-Databricks OpenSharing?

Há três maneiras de compartilhar dados usando o OpenSharing.

  1. O protocolo de compartilhamento Databricks-para-Databricks, abordado neste artigo, permite que você compartilhe dados a partir do seu workspace habilitado para o Unity Catalog com usuários que também têm acesso a um workspace habilitado para o Unity Catalog do Databricks.

    Essa abordagem usa o servidor OpenSharing integrado ao Azure Databricks e oferece suporte para compartilhamento de blocos de anotações, governança de dados do Catálogo do Unity, auditoria e acompanhamento de uso para provedores e destinatários. A integração com o Catálogo do Unity simplifica a configuração e a governança para provedores e destinatários e melhora o desempenho.

  2. O protocolo de compartilhamento Databricks-to-Open permite que você compartilhe dados gerenciados em um workspace do Databricks habilitado para o Unity Catalog com usuários em qualquer plataforma computacional.

    Veja O que é o protocolo OpenSharing Databricks-to-Open Sharing?.

  3. Uma implementação gerenciada pelo cliente do servidor OpenSharing de código aberto permite compartilhar de qualquer plataforma para outra, seja Databricks ou não.

    Consulte o projeto de código aberto.

Para obter uma introdução ao OpenSharing e mais informações sobre essas três abordagens, consulte o que é o OpenSharing?.

Fluxo de trabalho do Databricks para Databricks OpenSharing

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 a documentação detalhada de cada etapa.

No modelo Databricks-to-Databricks OpenSharing:

  1. Um destinatário de dados fornece a um provedor de dados o identificador de compartilhamento exclusivo para o metastore do Unity Catalog do Databricks anexado ao workspace do 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 a Etapa 1: Solicitar o identificador de compartilhamento do destinatário.

  2. 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 notebooks registrados no metastore.

    Para obter detalhes, consulte Criar compartilhamentos para OpenSharing.

  3. O provedor de dados cria um objeto de destinatário no metastore do Unity Catalog do provedor. Esse objeto nomeado representa o usuário ou grupo de usuários que acessarão os dados incluídos no compartilhamento, juntamente com o identificador de compartilhamento do metastore do Unity Catalog anexado ao workspace que o usuário ou grupo de usuários usará para acessar o compartilhamento. O identificador de compartilhamento é o identificador de chave que habilita a conexão segura.

    Para obter detalhes, consulte Etapa 2: criar o destinatário.

  4. O provedor de dados concede ao destinatário o acesso ao compartilhamento.

    Para obter detalhes, consulte Gerenciar o acesso aos compartilhamentos de dados do OpenSharing (para provedores).

  5. O compartilhamento fica disponível no workspace do Databricks do destinatário e os destinatários podem acessá-lo usando o Gerenciador de Catálogos, a CLI do Databricks ou os comandos SQL em um notebook Azure Databricks ou no editor de consultas SQL do Databricks.

    Para acessar as tabelas, exibições, volumes e notebooks em um compartilhamento, um administrador do metastore ou um usuário privilegiado deve criar um catálogo com base no compartilhamento. Em seguida, esse usuário ou outro usuário que recebe 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 acontece com outros ativos registrados no Catálogo do Unity, com a distinção importante sendo que os usuários só podem receber acesso de leitura em objetos em catálogos criados a partir de compartilhamentos opensharing.

    Os notebooks compartilhados residem no nível do catálogo e qualquer usuário com o privilégio USE CATALOG no catálogo pode acessá-los.

    Para obter detalhes, consulte Ler dados compartilhados usando o Databricks-to-Databricks OpenSharing (para destinatários).

Melhorar o desempenho de leitura da tabela com o compartilhamento de histórico

Os compartilhamentos de tabela do Databricks para o Databricks podem melhorar o desempenho habilitando o compartilhamento de histórico. O histórico de compartilhamento melhora o desempenho aproveitando as credenciais de segurança temporárias do armazenamento em nuvem, com escopo reduzido para 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. Confira Adicionar tabelas a um compartilhamento. Quando você compartilha uma tabela usando a computação no Databricks Runtime 16.2 e superior, WITH HISTORY é o padrão.
  • Para compartilhamentos de tabela existentes, você deve alterar o compartilhamento para compartilhar o histórico da tabela. Consulte Atualizar compartilhamentos. Quando você compartilha uma tabela usando a computação no Databricks Runtime 16.2 e superior, WITH HISTORY é o padrão.

Quando você compartilha um esquema inteiro, todas as tabelas no esquema são compartilhadas com o histórico por padrão.

Note

Tabelas com particionamento habilitado não recebem os benefícios de desempenho do compartilhamento de histórico. Confira Especificar partições de tabela para compartilhar

Para obter requisitos de qualificação de token de nuvem e considerações de privacidade de dados, consulte a qualificação do token de nuvem.

Matriz de suporte do Databricks to-Databricks OpenSharing para ambientes de nuvem

O Databricks-to-Databricks OpenSharing dá suporte ao compartilhamento no mesmo tipo de ambiente. As nuvens comerciais incluem ambientes de trabalho com controles de conformidade ativados, como FedRAMP Nível Moderado. Não há suporte para o compartilhamento com ambientes Azure Governamental.

Importante

O compartilhamento entre domínios regulatórios está em versão prévia pública fechada. Entre em contato com sua equipe de conta do Databricks para começar.

Nessa matriz, cada linha representa o ambiente do provedor (os dados de compartilhamento do metastore) e cada coluna representa o ambiente do destinatário (o metastore recebendo dados compartilhados).

Provedor Destinatário: serviços de nuvem comerciais Destinatário: AWS GovCloud Destinatário: AWS GovCloud DoD Destinatário: Azure China
Nuvens comerciais
AWS GovCloud
AWS GovCloud DoD
Azure China

Limitations

As seguintes limitações se aplicam ao compartilhamento entre domínios regulatórios:

  • Os tokens de nuvem são usados, a menos que um compartilhamento entre ou saia do AWS GovCloud ou do AWS GovCloud DoD. Nestes casos a seguir, as tabelas são compartilhadas usando URLs pré-assinadas:
    • Uma nuvem comercial compartilha ou recebe compartilhamentos do AWS GovCloud ou do AWS GovCloud DoD.
    • O AWS GovCloud e o AWS GovCloud DoD compartilham entre si.