O que é Delta Sharing?
Este artigo apresenta Delta Sharing em Databricks, a plataforma segura de compartilhamento de dados que permite que o senhor compartilhe dados e IA ativo em Databricks com usuários fora de sua organização, independentemente de esses usuários usarem Databricks ou não. Delta Sharing também é a base para o Databricks Marketplaceum fórum aberto para troca de dados de produtos.
Delta Sharing também está disponível como um projeto de código aberto que você pode usar para compartilhar tabelas Delta de outras plataformas.
Observação
Para saber como acessar os dados que foram compartilhados com o senhor usando o Delta Sharing, consulte Acessar dados compartilhados com o senhor usando o Delta Sharing (para destinatários).
Como funciona o 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.
Há três maneiras de compartilhar o uso de dados Delta Sharing:
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 tenham acesso a um Unity Catalog habilitado Databricks workspace.
Essa abordagem usa o servidor Delta Sharing incorporado ao Databricks. Ele suporta alguns Delta Sharing recursos que não são suportados nos outros protocolos, incluindo compartilhamento de Notebook, Unity Catalog compartilhamento de volume, Unity Catalog compartilhamento de modelo IA, Unity Catalog governança de dados, 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.
O protocolo de compartilhamento aberto Databricks , que permite compartilhar dados tabulares gerenciados em um Unity Catalog habilitado Databricks workspace com usuários em qualquer plataforma de computação.
Essa abordagem usa o servidor Delta Sharing incorporado ao Databricks e é útil quando o senhor gerenciar 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 Catalog-enabled Databricks workspace. A integração com o Unity Catalog no lado do provedor simplifica a configuração e a governança para os provedores.
Veja em Compartilhar uso de dados o protocolo de compartilhamento aberto Delta Sharing (para provedores).
Uma implementação para gerenciar o cliente do servidor de código aberto Delta Sharing , que permite que o senhor compartilhe de qualquer plataforma para qualquer plataforma, seja ela Databricks ou não.
A documentação da Databricks não abrange instruções para configurar seu próprio servidor Delta Sharing. Consulte github.com/delta-io/delta-sharing.
Compartilhamento aberto versus compartilhamento Databricks-para-Databricks
Esta seção descreve os dois protocolos para compartilhamento de um Databricks workspace que está habilitado para Unity Catalog.
Observação
Esta seção pressupõe que o provedor esteja em um Unity Catalog habilitado Databricks workspace. Para saber mais sobre como configurar um servidor de código aberto Delta Sharing para compartilhar de uma plataforma que não sejaDatabricks ou um Catálogo que não seja da Unity workspace, consulte github.com/delta-io/delta-sharing.
A forma como um provedor usa Delta Sharing em 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.
Databricks-to-Databricks O compartilhamento permite que o senhor 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 de notebooks, volumes e modelos, o 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 .
Consulte também Compartilhar uso de dados, o protocolo de compartilhamento aberto Delta Sharing (para provedores).
O que é Delta Sharing Databricks-para-Databricks?
Se quiser compartilhar dados com usuários que tenham um Databricks workspace habilitado para Unity Catalog, o senhor pode usar Databricks-to-Databricks Delta Sharing. Databricks-to-Databricks O compartilhamento permite que o senhor compartilhe dados com usuários de outras contas Databricks, estejam elas em AWS, Azure, ou GCP. Também é uma ótima maneira de compartilhar dados com segurança em diferentes Unity Catalog metastores em seu próprio Databricks account. Observe que não há necessidade de usar Delta Sharing para compartilhar dados entre espaços de trabalho anexados ao mesmo metastore Unity Catalog, pois nesse cenário o senhor pode usar o próprio Unity Catalog para gerenciar o acesso aos dados entre espaços de trabalho.
Uma vantagem do Databricks-to-Databricks compartilhamento é que o destinatário do compartilhamento não precisa de tokens para acessar o compartilhamento, e o provedor não precisa gerenciar o destinatário tokens. A segurança da conexão de compartilhamento, incluindo toda a verificação de identidade, autenticação e auditoria, é gerenciada inteiramente pelo site Delta Sharing e pela plataforma Databricks. Outra vantagem é a capacidade de compartilhar arquivos do Databricks Notebook, visualizar, Unity Catalog volumes e Unity Catalog modelos.
Consulte também Compartilhar uso de dados no protocolo Delta Sharing Databricks-to-Databricks (para provedores).
Como os administradores de provedores configuram o Delta Sharing?
Esta seção apresenta uma visão geral de como os provedores podem habilitar o Delta Sharing e iniciar o compartilhamento a partir de um Unity Catalog habilitado Databricks workspace. Para obter o Delta Sharing de código aberto, consulte github.com/delta-io/delta-sharing.
Databricks-to-Databricks O compartilhamento entre Unity Catalog metastores no mesmo account está sempre ativado. Se o senhor for um provedor que deseja habilitar o Delta Sharing para compartilhar dados com o espaço de trabalho Databricks em outra conta ou em clientes que não sejamDatabricks, um administrador do Databricks account ou do metastore executará os seguintes passos de configuração (em alto nível):
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.
Crie um compartilhamento que inclua dados ativos registrados no metastore Unity Catalog.
Se o senhor estiver compartilhando com um destinatário que não sejaDatabricks (conhecido como compartilhamento aberto), poderá incluir tabelas no formato Delta ou Parquet. Se o senhor planeja usar o Databricks-to-Databricks compartilhamento, também pode adicionar visualização, Unity Catalog volumes, Unity Catalog modelos e arquivos de Notebook a um compartilhamento.
Consulte Criar e gerenciar compartilhamentos para Delta Sharing.
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.
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
eSET SHARE PERMISSION
. Consulte Privilégios do Unity Catalog e objetos protegíveis.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.
compartilhamento de volumes
O senhor pode compartilhar volumes usando o fluxo de compartilhamento Databricks-to-Databricks. Consulte Adicionar volumes a um compartilhamento (para provedores) e Ler dados compartilhados usando Databricks-to-Databricks Delta Sharing (para destinatários) (para destinatários).
modelos de compartilhamento
O senhor pode compartilhar modelos usando o fluxo de compartilhamento Databricks-to-Databricks. Consulte Adicionar modelos a um compartilhamento (para provedores) e Ler dados compartilhados usando Databricks-to-Databricks Delta Sharing (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).
Restringir o acesso em nível de linha e coluna
O senhor pode compartilhar visualizações dinâmicas que restringem o acesso a determinados dados da tabela com base nas propriedades do destinatário. O compartilhamento dinâmico do view requer o fluxo de compartilhamento do Databricks-to-Databricks. Consulte Adicionar exibição 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 exige versões específicas de Databricks Runtime, o conector código aberto Delta Sharing Spark ou o conector código aberto Delta Sharing Python .
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. |
|
|
Mapeamento de coluna |
O compartilhamento de tabelas com esse recurso está em Public Preview. |
|
|
Formato uniforme |
O compartilhamento de tabelas com esse recurso está em Public Preview. |
|
|
Ponto de verificação V2 |
Suportado com limitações |
Suportado com limitações |
Suportado com limitações |
TimestampNTZ |
Suportado |
Databricks Runtime 14.1+ |
Conector Delta Sharing Spark 3.3+ |
Clusters líquidos |
Suportado com limitações |
Suportado com limitações |
Suportado com limitações |
Perguntas frequentes sobre o Delta Sharing
Veja a seguir as perguntas frequentes sobre o Delta Sharing.
Preciso do Unity Catalog para usar o Delta Sharing?
Não, o senhor não precisa do Unity Catalog para compartilhar (como provedor) ou consumir dados compartilhados (como destinatário). No entanto, o site Unity Catalog oferece benefícios como suporte para compartilhamento não tabular e IA ativo, governança pronta para uso, simplicidade e desempenho de consultas.
Os provedores podem compartilhar dados de duas maneiras:
Coloque o ativo para compartilhar no gerenciamento Unity Catalog e compartilhe-o usando o servidor de compartilhamento integrado Databricks Delta.
O senhor não precisa migrar todo o ativo para Unity Catalog. O senhor precisa apenas de um Databricks workspace que esteja habilitado para Unity Catalog para gerenciar ativo que deseja compartilhar. Em algumas contas, o novo espaço de trabalho é ativado automaticamente para Unity Catalog. Consulte Ativação automática do Unity Catalog.
Implemente o servidor aberto Delta Sharing para compartilhar dados, sem necessariamente usar seu Databricks account.
Os destinatários podem consumir dados de duas maneiras:
Sem um Databricks workspace. Use os conectores código aberto Delta Sharing que estão disponíveis para muitas plataformas de dados, incluindo Power BI, Pandas e código aberto Apache Spark. Consulte Ler dados compartilhados usando o compartilhamento aberto Delta Sharing (para destinatários) e o projeto de código aberto Delta Sharing.
Em um Databricks workspace. O espaço de trabalho do destinatário não precisa estar habilitado para Unity Catalog, mas há vantagens de governança, simplicidade e desempenho se estiver.
As organizações beneficiárias que desejam essas vantagens não precisam migrar todo o ativo para Unity Catalog. O senhor precisa apenas de um Databricks workspace que esteja habilitado para Unity Catalog para gerenciar ativos que são compartilhados com o senhor. Em algumas contas, o novo espaço de trabalho é ativado automaticamente para Unity Catalog. Consulte Ativação automática do Unity Catalog.
Consulte Ler dados compartilhados usando Delta Sharing open compartilhamento (para destinatários) e Ler dados compartilhados usando Databricks-to-Databricks Delta Sharing (para destinatários).
Preciso ser um cliente da Databricks para usar o Delta Sharing?
Não, o Delta Sharing é um protocolo aberto. O senhor pode compartilhar dados que não sejam da Databricks com destinatários em qualquer plataforma de dados. Os provedores podem configurar um servidor Delta Sharing aberto para compartilhar a partir de qualquer plataforma de computação. Os destinatários podem consumir conectores de uso compartilhado de dados código aberto Delta Sharing para muitos produtos de dados, incluindo Power BI, Pandas e código aberto Spark.
No entanto, o uso do Delta Sharing no Databricks, especialmente o compartilhamento de um workspace habilitado para o Unity Catalog, tem muitas vantagens.
Para obter detalhes, consulte a primeira pergunta desta 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 o fornecedor de cloud 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, 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 específicos de granularidade. O senhor pode negar o acesso do destinatário a compartilhamentos específicos 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 o Delta Sharing.
Não é inseguro usar URLs pré-assinados?
O Delta Sharing usa URLs pré-assinados para fornecer acesso temporário a um arquivo no armazenamento de objetos. Eles são fornecidos apenas aos destinatários que já têm acesso aos dados compartilhados. Eles 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, diferentemente de outras plataformas de compartilhamento de dados disponíveis, o protocolo de compartilhamento requer tokens abertos. Os provedores podem garantir a segurança dos tokens configurando o tempo de vida dos 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 já foi concedido aos destinatários. Consulte Considerações de segurança para tokens.
Se preferir não usar tokens para gerenciar o acesso aos compartilhamentos do destinatário, use Databricks-to-Databricks compartilhamento ou entre em contato com sua equipe Databricks account para obter alternativas.
O Delta Sharing suporta o compartilhamento de visualizações?
Sim, o site Delta Sharing é compatível com o view compartilhamento. Consulte Adicionar visualização a um compartilhamento.
Para saber mais sobre os aprimoramentos planejados para a visualização do compartilhamento, entre em contato com a equipe Databricks account .
Limitações
Os dados tabulares devem estar no formato de tabela Delta. O senhor pode converter facilmente as tabelas Parquet em Delta e vice-versa. Consulte CONVERT TO DELTA.
O Delta Sharing é compatível com tabelas que usam clustering líquido e ponto de verificação V2, com as seguintes limitações:
Os destinatários podem executar apenas consultas de Snapshot. Eles não podem executar consultas de transmissão ou alimentação de dados alterados (CDF).
Os provedores não podem compartilhar a tabela com a filtragem de partição.
As restrições de tabela (primárias e estrangeiras key ) não estão disponíveis em tabelas compartilhadas.
O compartilhamento de visualização é suportado somente em Databricks-to-Databricks compartilhamento. A visualização compartilhável deve ser definida em Delta tables ou em outra visualização compartilhável. Consulte Adicionar visualização a um compartilhamento (para provedores) e Ler visualização compartilhada (para destinatários).
Notebook O compartilhamento é suportado somente em Databricks-to-Databricks compartilhamento. Consulte Adicionar arquivos do Notebook a um compartilhamento e Ler dados compartilhados usando Databricks-to-Databricks Delta Sharing (para destinatários).
O compartilhamento de volumes é suportado somente em Databricks-to-Databricks compartilhamento. Consulte Adicionar volumes a um compartilhamento (para provedores) e Ler dados compartilhados usando Databricks-to-Databricks Delta Sharing (para destinatários).
O compartilhamento de modelos é suportado somente em Databricks-to-Databricks compartilhamento. Consulte Adicionar modelos a um compartilhamento (para provedores) e Ler dados compartilhados usando Databricks-to-Databricks Delta Sharing (para destinatários).
Há limites para o número de arquivos em metadados permitidos para uma tabela compartilhada. Para saber mais, consulte Erros de limite de recurso excedido.
Os esquemas denominados
information_schema
não podem ser importados para um metastore do Unity Catalog, porque esse nome de esquema é reservado no Unity Catalog.O compartilhamento de tabelas
SHALLOW CLONE
não é compatível com o Delta Sharing. Databricks não oferece suporte à predefinição de URLs para Delta logs que fazem referência a caminhos absolutos.
Consulte também Delta Lake recurso support matrix.
cotas de recursos
Databricks impõe cotas de recurso em todos os objetos protegíveis do site Delta Sharing. Essas cotas são listadas em limites de recurso. Se o senhor espera exceder esses limites de recurso, entre em contato com a equipe do Databricks account .
O senhor pode monitorar o uso da cota usando o recurso Unity Catalog quotas APIs. Consulte Monitorar o uso das cotas de recurso do Unity Catalog .
Next os passos
Saiba mais sobre os modelos de compartilhamento aberto e Databricks-to-Databricks