Compartilhe dados e IA ativo com segurança usando o Delta Sharing

Este artigo apresenta o Delta Sharing no Databricks, a plataforma segura de compartilhamento de dados que permite que o senhor compartilhe dados e IA ativo no Databricks com usuários fora da sua organização, quer esses usuários usem o Databricks ou não.

Importante

Os artigos do Delta Sharing neste site se concentram no compartilhamento de dados do Databricks, Notebook e modelos de IA. O Delta Sharing também está disponível como um projeto de código aberto que o senhor pode usar para compartilhar tabelas Delta de outras plataformas. O Delta Sharing também fornece o backbone para o Databricks Marketplace, um fórum aberto para troca de produtos de dados.

Observação

Se você é um destinatário de dados que recebeu acesso a dados compartilhados por meio do Delta compartilhamento e deseja apenas saber como acessar esses dados, consulte Acessar dados compartilhados com você usando o Delta compartilhamento (para destinatários).

O que é Delta Sharing?

O Delta Sharing é um protocolo aberto desenvolvido pela Databricks para compartilhamento seguro de dados com outras organizações, independentemente das plataformas de computação que usam.

Existem três maneiras de compartilhar uso de dados Delta compartilhamento:

  1. O protocolo de compartilhamento Databricks-to-Databricks, que permite que o senhor compartilhe dados e IA ativo do seu Unity Catalog habilitado workspace com usuários que também têm acesso a um Databricks habilitado para o Unity Catalog workspace.

    Essa abordagem usa o servidor Delta Sharing incorporado ao Databricks. Ele oferece suporte a alguns recursos do Delta Sharing que não são suportados nos outros protocolos, incluindo compartilhamento Notebook, compartilhamento de volume do Unity Catalog, compartilhamento de modelo de IA do Unity Catalog, governança de dados do Unity Catalog, auditoria e acompanhamento 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.

    Consulte Compartilhar uso de dados no protocolo Delta compartilhamento Databricks-to-Databricks (para provedores).

  2. O protocolo de compartilhamento aberto Databricks, que permite compartilhar dados tabulares que você gerencia em um workspace Databricks habilitado para Catálogo Unity com usuários em qualquer plataforma de computação.

    Essa abordagem usa o servidor de compartilhamento Delta que é integrado ao Databricks e é útil quando você gerencia o uso de dados Unity Catalog e deseja compartilhá-lo com usuários que não usam o Databricks ou não têm acesso a um Unity Catalogdo Databricks habilitado para workspace. A integração com o Unity Catalog no lado do provedor simplifica a configuração e a governança dos provedores.

    Consulte Compartilhar uso de dados no protocolo de compartilhamento aberto Delta Sharing (para provedores).

  3. Uma implementação cliente-gerenciar do servidor de compartilhamento Delta de código aberto, que permite compartilhar de qualquer plataforma para qualquer plataforma, seja Databricks ou não.

    A documentação do Databricks não cobre instruções para configurar seu próprio servidor de compartilhamento Delta. Consulte github.com/delta-io/delta-sharing.

Compartilhamentos, provedores e destinatários

Os principais conceitos subjacentes ao Delta compartilhamento no Databricks são compartilhamentos, provedores e destinatários.

O que é uma ação?

No Delta Sharing, um compartilhamento é uma coleção somente leitura de tabelas e partições de tabelas que um provedor deseja compartilhar com um ou mais destinatários. Se o seu destinatário usar um Unity Catalogdo Databricks habilitado para workspace, você também poderá incluir Notebook arquivos , exibição (incluindo exibição dinâmica que restringe o acesso no nível de linha e coluna), Unity Catalog volumes e Unity Catalog modelos do em um compartilhamento.

Você pode adicionar ou remover tabelas, visualizações, volumes, modelos e arquivos Notebook de um compartilhamento a qualquer momento e pode atribuir ou revogar o acesso de destinatário de dados a um compartilhamento a qualquer momento.

Em um Unity Catalogdo Databricks habilitado para workspace, um compartilhamento é um objeto protegível registrado no Unity Catalog. Se você remover um compartilhamento do metastore do Unity Catalog , todos os destinatários desse compartilhamento perderão a capacidade de acessá-lo.

Consulte Criar e gerenciar compartilhamentos para Delta Sharing.

O que é um provedor?

Um provedor é uma entidade que compartilha dados com um destinatário. Se você é um provedor e deseja aproveitar as vantagens do servidor integrado de compartilhamento Delta do Databricks e gerenciar compartilhamentos e destinatários usando o Unity Catalog, você precisa de pelo menos um workspace do Databricks habilitado para o Unity Catalog. Você não precisa migrar todo o seu workspace existente para o Unity Catalog. Você pode simplesmente criar um novo workspace habilitado para Unity Catalog para suas necessidades de compartilhamento Delta.

Se um destinatário estiver em um do Unity CatalogDatabricks habilitado para workspace, o provedor também será um Unity Catalog objeto protegível que representa a organização do provedor e associa essa organização a um conjunto de compartilhamentos.

O que é um destinatário?

Um destinatário é uma entidade que recebe ações de um provedor. No Unity Catalog, um compartilhamento é um objeto protegível que representa uma organização e a associa a uma credencial ou identificador de compartilhamento seguro que permite que essa organização acesse um ou mais compartilhamentos.

Como um provedor de dados (compartilhador), você pode definir vários destinatários para qualquer metastore Unity Catalog, mas se quiser compartilhar dados de vários metastore com um determinado usuário ou grupo de usuários, você deve definir o destinatário em separado para cada metastore. Um destinatário pode ter acesso a vários compartilhamentos.

Se um provedor excluir um destinatário do metastore do Unity Catalog , esse destinatário perderá acesso a todos os compartilhamentos que poderia acessar anteriormente.

Consulte Criar e gerenciar destinatários de dados para Delta Sharing.

Compartilhamento aberto versus compartilhamento Databricks-para-Databricks

Esta seção descreve os dois protocolos para compartilhamento de um workspace do Databricks habilitado para o Unity Catalog.

Observação

Esta seção pressupõe que o provedor esteja em um workspace do Databricks habilitado para Catálogo do Unity. Para saber mais sobre como configurar um servidor de compartilhamento Delta de código aberto para compartilhar de uma plataforma que não seja do Databricks ou de workspace que não seja do Unity Catalog, consulte github.com/delta-io/delta-sharing.

A forma como um provedor usa o compartilhamento Delta no Databricks depende de com quem ele está compartilhando dados:

  • O compartilhamento aberto permite que você compartilhe dados com qualquer usuário, tenham ou não acesso ao Databricks.

  • O compartilhamento de Databricks para Databricks permite que você compartilhe dados com usuários do Databricks cujo workspace está anexado a um metastore Unity Catalog diferente do seu. Databricks-to-Databricks também oferece suporte ao compartilhamento Notebook, volume e modelo, que não está disponível no compartilhamento aberto.

O que é Delta Sharing aberto?

Se você deseja compartilhar dados com usuários fora do seu Databricks workspace, independentemente de usar o Databricks, pode usar o Delta Sharing aberto para compartilhar seus dados com segurança. Como provedor de dados, você gera um token e o compartilha com segurança com o destinatário. Eles usam o token para autenticar e obter acesso de leitura às tabelas que você incluiu nos compartilhamentos aos quais deu acesso a eles.

Os destinatários podem acessar os dados compartilhados usando muitas ferramentas e plataformas de computação, incluindo:

  • Databricks

  • Apache Spark

  • Pandas

  • Power BI

Para obter uma lista completa de conectores Delta Sharing e informações sobre como usá-los, consulte a documentação Delta Sharing .

Veja também Compartilhar uso de dados do protocolo de compartilhamento aberto Delta Sharing (para provedores).

O que é Delta Sharing Databricks-para-Databricks?

Se você quiser compartilhar dados com usuários que tenham um workspace do Databricks habilitado para Unity Catalog, você poderá usar o compartilhamento Delta de Databricks para Databricks. O compartilhamento de Databricks para Databricks permite que você compartilhe dados com usuários em outras account do Databricks, sejam eles na AWS, no Azure ou no GCP. Também é uma ótima maneira de compartilhar dados com segurança entre diferentes metastores Unity Catalog em sua própria account do Databricks. Observe que não há necessidade de usar Delta compartilhamento para compartilhar dados entre workspace anexados ao mesmo metastore Unity Catalog , porque nesse cenário você pode usar o próprio Unity Catalog para gerenciar o acesso aos dados no workspace.

Uma vantagem do compartilhamento de Databricks para Databricks é que o destinatário do compartilhamento não precisa de tokens para acessar o compartilhamento, e o provedor não precisa gerenciar tokens de destinatário. A segurança da conexão de compartilhamento – incluindo toda verificação de identidade, autenticação e auditoria – é gerenciada inteiramente por meio do Delta Sharing e da plataforma Databricks. Outra vantagem é a capacidade de compartilhar arquivos do Databricks Notebook , visualizar volumes do Unity Catalog e modelos do Unity Catalog.

Consulte também Compartilhar uso de dados do protocolo Delta compartilhamento Databricks-to-Databricks (para provedores).

Como os administradores do provedor configuram o Delta compartilhamento?

Esta seção fornece uma visão geral de como os provedores podem habilitar Delta Sharing e iniciar o compartilhamento a partir de um workspace do Databricks habilitado para o Catálogo Unity. Para compartilhamento Delta de código aberto, consulte github.com/delta-io/delta-sharing.

O compartilhamento DatabricksparaDatabricks entre metastores Unity Catalog na mesma account está sempre habilitado. Se você for um provedor que deseja permitir que o Delta compartilhamento compartilhe dados com workspace do Databricks em outra account ou clientes que não sejam do Databricks, um administrador account do Databricks ou administrador de metastore executa as seguintes etapas de configuração (em alto nível):

  1. Habilite Delta Sharing para o metastore do Unity Catalog que gerencia os dados que você deseja compartilhar.

    Observação

    Você não precisa habilitar Delta Sharing em seu metastore se pretende usar Delta Sharing para compartilhar dados apenas com usuários em outros metastores do Unity Catalog em sua conta. O compartilhamento de metastore para metastore em uma única conta do Databricks é habilitado por padrão.

    Consulte Ativar Delta Sharing em um metastore.

  2. Crie um compartilhamento que inclua dados ativos registrados no metastore do Unity Catalog .

    Se você estiver compartilhando com um destinatário que não seja do Databricks (conhecido como compartilhamento aberto), poderá incluir tabelas no formato Delta ou Parquet. Se você planeja usar o compartilhamento de Databricks para Databricks, também poderá adicionar visualização, volumes Unity Catalog , modelos Unity Catalog e arquivos Notebook a um compartilhamento.

    Consulte Criar e gerenciar compartilhamentos para Delta Sharing.

  3. Crie um destinatário.

    Consulte Criar e gerenciar destinatários de dados para Delta Sharing.

    Se o destinatário não for um usuário do Databricks ou não tiver acesso a um Databricks workspace habilitado para Unity Catalog, você deverá usar o compartilhamento aberto. Um conjunto de credenciais baseadas em token é gerado para esse destinatário.

    Se o seu destinatário tiver acesso a um Databricks workspace habilitado para Unity Catalog, você poderá usar o compartilhamento Databricks-to-Databrickse nenhuma credencial baseada em token será necessária. Você solicita um identificador de compartilhamento do destinatário e o utiliza para estabelecer a conexão segura.

    Dica

    Use a si mesmo como destinatário de teste para experimentar o processo de configuração.

  4. Conceda ao destinatário o acesso a um ou mais compartilhamentos.

    Consulte gerenciar o acesso a Delta Sharing data shares (para provedores).

    Observação

    Essa passo também pode ser executada por um usuário não administrador com os privilégios USE SHARE, USE RECIPIENT e SET SHARE PERMISSION . Consulte Privilégios do Unity Catalog e objetos protegíveis.

  5. Envie ao destinatário as informações de que ele precisa para se conectar ao compartilhamento (somente compartilhamento aberto).

    Consulte Enviar ao destinatário suas informações de conexão.

    Para compartilhamento aberto, use um canal seguro para enviar ao destinatário um link de ativação que permite que ele baixe suas credenciais baseadas em token.

    Para compartilhamento Databricks-para-Databricks, os dados incluídos no compartilhamento ficam disponíveis no Databricks workspace do destinatário assim que você concede acesso ao compartilhamento.

O destinatário agora pode acessar os dados compartilhados.

Como os destinatários acessam os dados compartilhados?

Os destinatários acessam os dados compartilhados ativos em formato somente leitura. Os arquivos Notebook compartilhado são somente leitura, mas podem ser clonados e modificados e executados no workspace do destinatário como qualquer outro Notebook.

O acesso seguro depende do modelo de compartilhamento:

Sempre que o fornecedor de dados atualiza tabelas ou volumes de dados na sua própria account Databricks, as atualizações aparecem quase em tempo real no sistema do destinatário.

Como você acompanha quem está compartilhando e acessando dados compartilhados?

Os provedores de dados no espaço de trabalho do Databricks habilitado para o Unity Catalog podem usar o registro de auditoria do Databricks e as tabelas do sistema para monitorar a criação e a modificação de compartilhamentos e destinatários, e podem monitorar a atividade dos destinatários nos compartilhamentos. Consulte Auditar e monitorar o compartilhamento de dados.

Os destinatários de dados que usam dados compartilhados em um Databricks workspace podem usar o registro de auditoria do Databricks e as tabelas do sistema para entender quem está acessando quais dados. Consulte Auditar e monitorar o compartilhamento de dados.

compartilhar volumes

Você pode compartilhar volumes usando o fluxo de compartilhamento Databricks-to-Databricks. Consulte Adicionar volumes a um compartilhamento (para provedores) e Ler dados compartilhados usando Delta Sharing do Databricks-to-Databricks (para destinatários) (para destinatários).

compartilhar modelos

Você pode compartilhar modelos usando o fluxo de compartilhamento Databricks-to-Databricks. Consulte Adicionar modelos a um compartilhamento (para provedores) e Ler dados compartilhados usando Delta Sharing do Databricks-to-Databricks (para destinatários) (para destinatários).

Compartilhamento de blocos de anotações

Você pode usar Delta Sharing para compartilhar arquivos de bloco de anotações usando o fluxo de compartilhamento Databricks-para-Databricks. Consulte Adicionar arquivos de bloco de anotações a um compartilhamento (para provedores) e Ler blocos de anotações compartilhados (para destinatários).

Restringindo o acesso no nível de linha e coluna

Você pode compartilhar view dinâmicas que restringem o acesso a determinados dados da tabela com base nas propriedades do destinatário. O compartilhamento de view dinâmico requer o fluxo de compartilhamento Databricks-to-Databricks. Consulte Adicionar view dinâmica a um compartilhamento para filtrar linhas e colunas.

Delta Sharing e streaming

Delta Sharing oferece suporte ao Spark Structured Streaming. Um provedor pode compartilhar uma tabela com histórico para que um destinatário possa usá-la como uma fonte de streaming estruturado, processando dados compartilhados de forma incremental com baixa latência. Os destinatários também podem realizar consultas de viagem do tempo do Delta Lake em tabelas compartilhadas com o histórico.

Para saber como compartilhar tabelas com histórico, consulte Adicionar tabelas a um compartilhamento. Para saber como usar tabelas compartilhadas como fontes de streaming, consulte Consultar uma tabela com Apache Spark Structured Streaming (para destinatários do compartilhamento Databricks-para-Databricks) ou Acessar uma tabela compartilhada com Spark Structured Streaming (para destinatários de dados de compartilhamento aberto).

Consulte também Streaming em Databricks.

Delta Lake matriz de suporte de recurso

Delta Sharing suporta a maioria dos Delta Lake recursos quando o senhor compartilha uma mesa. Essa matriz de suporte lista Delta recurso que requer versões específicas de Databricks Runtime e o conector de código aberto Delta Sharing Spark , juntamente com o recurso parcialmente suportado.

Recurso

fornecedor

Destinatário da Databricks

Receptor de código aberto

Vetores de deleção

O compartilhamento de tabelas com esse recurso está em Public Preview.

  • Databricks Runtime 14.1+ para consultas de lotes

  • Databricks Runtime 14.2+ para consultas de CDF e transmissão

delta-compartilhamento-spark 3.1+

Mapeamento de coluna

O compartilhamento de tabelas com esse recurso está em Public Preview.

  • Databricks Runtime 14.1+ para consultas de lotes

  • Databricks Runtime 14.2+ para consultas de CDF e transmissão

delta-compartilhamento-spark 3.1+

Formato uniforme

O compartilhamento de tabelas com esse recurso está em Public Preview.

  • Databricks Runtime 14.1+ para consultas de lotes

  • Databricks Runtime 14.2+ para consultas de CDF e transmissão

delta-compartilhamento-spark 3.1+

v2Checkpoint

Suportado com limitações. Ver nota

N/A

N/A

TimestampNTZ

Não compatível.

N/A

N/A

Clusters líquidos

Suportado com limitações. Ver nota

N/A

N/A

Observação

O Delta Sharing é compatível com tabelas que usam clustering líquido e V2Checkpoint, exceto quando:

  • O provedor compartilha a tabela com a filtragem de partições.

  • Os destinatários executam consultas de change data feed (CDF) ou transmissão na tabela.

Perguntas frequentes Delta Sharing

A seguir estão as perguntas mais frequentes sobre o compartilhamento Delta.

Preciso do Unity Catalog para usar o compartilhamento Delta?

Não, o senhor não precisa do Unity Catalog para compartilhar (como provedor) ou consumir dados compartilhados (como destinatário). No entanto, o Unity Catalog oferece benefícios como suporte para compartilhamento não tabular e ativo de IA, governança pronta para uso, simplicidade e desempenho de consulta.

Os provedores podem compartilhar dados de duas maneiras:

  • Coloque o ativo para compartilhar no gerenciamento Unity Catalog e compartilhe-os usando o servidor de compartilhamento integrado Databricks Delta.

    Você não precisa migrar todos os ativos para o Unity Catalog. Você precisa apenas de um workspace do Databricks habilitado para o Unity Catalog gerenciar o ativo que você deseja compartilhar. Em algumas account, novos workspace são habilitados automaticamente para o Unity Catalog. Consulte Ativação automática do Unity Catalog.

  • Implemente o servidor de compartilhamento Delta aberto para compartilhar dados, sem necessariamente usar sua account Databricks.

Os destinatários podem consumir dados de duas maneiras:

  • Sem um workspace do Databricks. Use conectores de compartilhamento Delta de código aberto que estão disponíveis para muitas plataformas de dados, incluindo Power BI, pandas e Apache Spark de código aberto. Consulte Ler dados compartilhados usando o compartilhamento aberto Delta Sharing (para destinatários) e o projeto de código aberto Delta Sharing.

  • Em um workspace do Databricks. workspace do destinatário não precisa ser habilitado para o Unity Catalog, mas há vantagens de governança, simplicidade e desempenho, se estiverem.

    As organizações beneficiárias que desejam essas vantagens não precisam migrar todos os ativos para o Unity Catalog. Você precisa apenas de um espaço de trabalho do Databricks habilitado para o Unity Catalog gerenciar ativos compartilhados com você. Em algumas account, novos workspace são habilitados automaticamente para o Unity Catalog. Consulte Ativação automática do Unity Catalog.

Consulte Ler dados compartilhados usando Delta compartilhamento open compartilhamento (para destinatários) e Ler dados compartilhados usando Databricks-to-Databricks Delta compartilhamento (para destinatários).

Preciso ser cliente do Databricks para usar o compartilhamento Delta?

Não, o Delta compartilhamento é um protocolo aberto. Você pode compartilhar dados que não sejam do Databricks com destinatários em qualquer plataforma de dados. Os provedores podem configurar um servidor de compartilhamento Delta aberto para compartilhar a partir de qualquer plataforma de computação. Os destinatários podem consumir conectores de compartilhamento Delta de código aberto de uso de dados compartilhados para muitos produtos de dados, incluindo Power BI, pandas e Spark de código aberto.

No entanto, usar o Delta compartilhamento no Databricks, especialmente o compartilhamento de um workspace habilitado para Unity Catalog, tem muitas vantagens.

Para obter detalhes, consulte a primeira pergunta deste FAQ.

A Delta Sharing incorre em custos de egresso?

O Delta Sharing em uma região não tem custo de saída. Diferentemente de outras plataformas de compartilhamento de dados, o Delta Sharing não requer replicação de dados. Esse modelo tem muitas vantagens, mas significa que seu fornecedor de nuvens pode cobrar taxas de saída de dados quando o senhor compartilha dados em clouds ou regiões. A Databricks oferece suporte ao compartilhamento do Cloudflare R2 (Public Preview), que não incorre em taxas de saída, e fornece outras ferramentas e recomendações para monitorar e evitar taxas de saída. Consulte Monitorar e gerenciar os custos de saída do Delta Sharing (para provedores).

Os provedores podem revogar o acesso do destinatário?

Sim, o acesso do destinatário pode ser revogado sob demanda e em níveis especificados de granularidade. Você pode negar o acesso do destinatário a compartilhamentos e endereços IP específicos, filtrar dados tabulares de um destinatário, revogar tokens de destinatário e excluir destinatários completamente. Consulte Revogar o acesso do destinatário a um compartilhamento e Criar e gerenciar destinatários de dados para Delta Sharing.

Não é inseguro usar URLs pré-assinados?

Delta compartilhamento usa URLs pré-assinados para fornecer acesso temporário a um arquivo no armazenamento de objetos. Eles são fornecidos apenas a destinatários que já têm acesso aos dados compartilhados. São seguros porque têm vida curta e não expandem o nível de acesso além do que já foi concedido aos destinatários.

Os tokens usados no protocolo de compartilhamento aberto Delta Sharing são seguros?

Como o Delta Sharing permite o compartilhamento entre plataformas – ao contrário de outras plataformas de compartilhamento de dados disponíveis – o protocolo de compartilhamento requer tokens abertos. Os provedores podem garantir a segurança tokens configurando a vida útil tokens , definindo controles de rede e revogando o acesso sob demanda. Além disso, os tokens não expandem o nível de acesso além do que os destinatários já receberam. Consulte Considerações de segurança para tokens.

Se preferir não usar tokens para gerenciar o acesso aos compartilhamentos de destinatários, você deverá usar o compartilhamento Databricks-to-Databricks ou entrar em contato com sua equipe account do Databricks para obter alternativas.

O Delta Sharing oferece suporte ao compartilhamento de visualizações?

Sim, o Delta Sharing oferece suporte ao compartilhamento view . Consulte Adicionar view a um compartilhamento.

Para saber mais sobre melhorias planejadas para visualizar o compartilhamento, entre em contato com sua equipe account do Databricks.

Limitações

cotas de recursos

Os valores abaixo indicam as cotas do recurso Delta Sharing. Os valores de cota abaixo são expressos em relação ao objeto pai no Unity Catalog.

Objeto

Pai

Valor

fornecedor

metastore

1000

destinatários

metastore

5000

ações

metastore

1000

tabelas

compartilhar

1000

volumes

compartilhar

1000

modelos

compartilhar

1000

esquemas

compartilhar

500

Notebooks

compartilhar

100

Se você espera exceder esses limites de recursos, entre em contato com a equipe da sua account do Databricks.