Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Esta página apresenta o Delta Sharing no Azure Databricks, a plataforma segura de partilha de dados que lhe permite partilhar dados e ativos de IA no Azure Databricks com utilizadores fora da sua organização, independentemente de utilizarem ou não o Azure Databricks. O Delta Sharing também é a base do Databricks Marketplace, um fórum aberto para troca de produtos de dados, e do Clean Rooms, um ambiente seguro e que protege a privacidade onde várias partes podem trabalhar juntas em dados corporativos confidenciais.
O 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.
Como funciona o Delta Sharing?
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á algumas maneiras de compartilhar dados usando o Delta Sharing:
O protocolo de compartilhamento Databricks-to-Databricks, que permite compartilhar dados e ativos de IA do seu espaço de trabalho habilitado para Unity Catalog, com usuários que também têm acesso a um espaço de trabalho Databricks habilitado para Unity Catalog.
Esta abordagem utiliza o servidor Delta Sharing que está integrado no Azure Databricks. Ele suporta alguns recursos de Compartilhamento Delta que não são suportados nos outros protocolos, incluindo compartilhamento de notebook, compartilhamento de volume do Unity Catalog, compartilhamento de modelo Unity Catalog AI, governança de dados do Unity Catalog, 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.
Consulte Compartilhar dados usando o protocolo Delta Sharing Databricks-to-Databricks (para provedores).
O protocolo de compartilhamento aberto Databricks, que permite compartilhar dados tabulares gerenciados em um espaço de trabalho Databricks habilitado para Unity Catalog com usuários em qualquer plataforma de computação.
Esta abordagem utiliza o servidor Delta Sharing, que está integrado no Azure Databricks e é útil quando geres dados usando o Unity Catalog e queres partilhá-los com utilizadores que não usam Databricks ou que não têm acesso a um espaço de trabalho Databricks habilitado pelo Unity Catalog. A integração com o Unity Catalog no lado do provedor simplifica a configuração e a governança para provedores.
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, que permite compartilhar de qualquer plataforma para qualquer plataforma, seja Databricks ou não.
A documentação do Azure Databricks não cobre instruções para configurar o seu próprio servidor Delta Sharing. Ver github.com/delta-io/delta-sharing.
O SAP Business Data Cloud (BDC) Connector para Azure Databricks, que lhe permite partilhar dados entre o seu espaço de trabalho com Unity Catalog e uma conta SAP BDC.
Essa abordagem usa o SAP BDC Connector, que utiliza o Delta Sharing para acesso ao vivo e de cópia zero aos produtos de dados SAP BDC.
Partilhas, fornecedores e destinatários
Os conceitos principais subjacentes à Partilha Delta em Azure Databricks são partilhas, fornecedores e destinatários.
O que é uma ação?
No Compartilhamento Delta, um compartilhamento é uma coleção somente leitura de tabelas e partições de tabela que um provedor deseja compartilhar com um ou mais destinatários. Se o destinatário usar um espaço de trabalho Databricks habilitado para Catálogo Unity, você também poderá incluir arquivos de bloco de anotações, exibições (incluindo exibições dinâmicas que restringem o acesso no nível de linha e coluna), volumes do Catálogo Unity e modelos do Catálogo Unity em um compartilhamento.
Você pode adicionar ou remover tabelas, tabelas de streaming, tabelas Iceberg gerenciadas, exibições, exibições materializadas, volumes, modelos e arquivos de bloco de anotações de um compartilhamento a qualquer momento, e pode atribuir ou revogar o acesso do destinatário de dados a um compartilhamento a qualquer momento.
Num espaço de trabalho Azure Databricks habilitado pelo Unity Catalog, uma partilha é um objeto securável registado 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 o Delta Sharing.
O que é um fornecedor?
Um provedor de é uma entidade que compartilha dados com um destinatário. Se é um fornecedor e quer tirar partido do servidor Databricks Delta Sharing incorporado e gerir partilhas e destinatários usando o Unity Catalog, precisa de pelo menos um espaço de trabalho Azure Databricks ativado para o Unity Catalog. Não é necessário migrar todos os espaços de trabalho existentes para o Unity Catalog. Você pode simplesmente criar um novo espaço de trabalho com suporte de Unity Catalog para as suas necessidades de Delta Sharing.
Se um destinatário estiver em um espaço de trabalho Databricks habilitado para Unity Catalog, o provedor também será um objeto protegível do Unity Catalog 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 do Unity Catalog, mas se quiser compartilhar dados de vários metastores com um usuário ou grupo de usuários específico, deverá definir o destinatário separadamente para cada metastore. Um destinatário pode ter acesso a vários compartilhamentos.
Se um provedor excluir um destinatário de seu metastore do Unity Catalog, esse destinatário perderá o acesso a todos os compartilhamentos que poderia acessar anteriormente.
Partilha aberta versus partilha de Databricks para Databricks
Esta seção descreve os dois protocolos para compartilhamento de um espaço de trabalho Databricks habilitado para o Unity Catalog.
Note
Esta secção assume que o fornecedor está num espaço de trabalho Azure Databricks habilitado pelo Unity Catalog. Para saber mais sobre como configurar um servidor de compartilhamento delta de código aberto para compartilhar de uma plataforma que não seja Databricks ou espaço de trabalho não Unity Catalog, consulte github.com/delta-io/delta-sharing.
A forma como um fornecedor utiliza o Delta Sharing no Azure Databricks depende de com quem partilha dados:
- Partilha aberta permite-lhe partilhar dados com qualquer utilizador, tenha ou não acesso a Azure Databricks.
- Databricks-to-Databricks sharing permite-lhe partilhar dados com Azure Databricks utilizadores cujo espaço de trabalho está ligado a uma metastore do Unity Catalog diferente da sua. O Databricks-to-Databricks também oferece suporte ao compartilhamento de notebook, volume e modelo, que não está disponível no compartilhamento aberto.
O que é o compartilhamento delta aberto?
Se quiser partilhar dados com utilizadores fora do seu espaço de trabalho Azure Databricks, independentemente de usarem Databricks, pode usar o Open Delta Sharing para partilhar os seus dados de forma segura. Como provedor de dados, você gerencia a autenticação com o destinatário de compartilhamento usando um dos seguintes métodos:
- Você gera um bearer token de longa duração 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 você lhes deu acesso.
- Você utiliza a federação Open ID Connect (OIDC), concedendo tokens OAuth de curta duração do Databricks ao destinatário em troca de tokens JWT passados pelo IdP do destinatário para o Databricks.
Os destinatários podem aceder aos dados partilhados utilizando muitas ferramentas e plataformas informáticas, incluindo:
- Azure 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 dados usando o protocolo de compartilhamento aberto Delta Sharing (para provedores).
O que é Databricks-to-Databricks Delta Sharing?
Se tu quiseres compartilhar dados com utilizadores que têm um espaço de trabalho Databricks ativado para o Unity Catalog, podes usar o Databricks-to-Databricks Delta Sharing. A partilha Databricks-to-Databricks permite-lhe partilhar dados com utilizadores noutras contas Databricks, quer estejam na AWS, Azure ou GCP. Também é uma ótima maneira de compartilhar dados com segurança em diferentes metastores do Unity Catalog em sua própria conta Databricks. Observe que não há necessidade de usar o Compartilhamento Delta para compartilhar dados entre espaços de trabalho anexados ao mesmo metastore do Unity Catalog, porque nesse cenário você pode usar o próprio Unity Catalog para gerenciar o acesso aos dados entre espaços de trabalho.
Uma vantagem da partilha entre Databricks é que o destinatário da partilha não precisa de um token para aceder à partilha e o provedor não precisa gerir os tokens do destinatário. A segurança da conexão de compartilhamento, incluindo toda a 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 de notebook Databricks, volumes do Catálogo Unity e modelos do Catálogo Unity.
Consulte também Compartilhar dados usando o protocolo Delta Sharing Databricks-to-Databricks (para provedores).
Como os administradores do provedor configuram o Delta Sharing?
Esta secção apresenta uma visão geral de como os fornecedores podem ativar a Delta Sharing e iniciar a partilha a partir de um espaço de trabalho Azure Databricks com Unity Catalog. Para compartilhamento delta de código aberto, consulte github.com/delta-io/delta-sharing.
A partilha de Databricks para Databricks entre metastores do Unity Catalog na mesma conta está sempre ativada. Se é um fornecedor que deseja permitir que o Delta Sharing partilhe dados com espaços de trabalho Databricks noutras contas ou clientes que não sejam Databricks, um administrador de contas Azure Databricks ou administrador de metastore executa os seguintes passos de configuração (a um nível geral):
Habilite o Compartilhamento Delta para o metastore do Unity Catalog que gerencia os dados que você deseja compartilhar.
Note
Você não precisa habilitar o Compartilhamento Delta em seu metastore se pretende usar o Compartilhamento Delta para compartilhar dados somente com usuários em outros metastores do Catálogo Unity em sua conta. A partilha entre metastores dentro de uma única conta Azure Databricks está predefinida.
Crie um compartilhamento que inclua ativos de dados registrados no metastore do Unity Catalog.
Se você estiver compartilhando com um destinatário que não seja Databricks (conhecido como compartilhamento aberto), poderá incluir tabelas no formato Delta. Se planeares usar o compartilhamento de Databricks para Databricks, também podes adicionar vistas, volumes do Catálogo Unity, modelos do Catálogo Unity e ficheiros de cadernos a um compartilhamento.
Consulte Criar e gerenciar compartilhamentos para o Delta Sharing.
Crie um destinatário.
Se o destinatário não for um usuário do Databricks ou não tiver acesso a um espaço de trabalho do Databricks habilitado para o Unity Catalog, você deverá usar de compartilhamento aberto. Você pode gerar credenciais baseadas em token de portador para esse destinatário ou usar a federação OIDC.
Se o destinatário tiver acesso a um espaço de trabalho Databricks habilitado para o Unity Catalog, você poderá usar o compartilhamento de Databricks para Databricks e nenhuma credencial baseada em token será necessária. Você solicita um identificador de compartilhamento do destinatário e utilizá-lo para estabelecer a conexão segura.
Tip
Use-se como um destinatário de teste para experimentar o processo de configuração.
Conceda ao destinatário acesso a um ou mais compartilhamentos.
Consulte Gerenciar o acesso a compartilhamentos de dados do Delta Sharing (para provedores).
Note
Esta etapa também pode ser executada por um usuário não administrador com os
USE SHARE,USE RECIPIENTeSET SHARE PERMISSIONprivilégios. Consulte a referência de privilégios do Unity Catalog.Envie ao destinatário as informações necessárias para se conectar ao compartilhamento (somente compartilhamento aberto).
Para compartilhamento aberto usando tokens de portador, use um canal seguro para enviar ao destinatário um link de ativação que permita que ele baixe suas credenciais baseadas em tokens. Consulte Enviar informações de conexão ao destinatário.
Para compartilhamento aberto usando a federação de token OIDC, envie a URL do portal gerada. Consulte Usar federação Open ID Connect (OIDC) para habilitar a autenticação em compartilhamentos Delta Sharing (compartilhamento aberto).
Para partilha entre Databricks, os dados incluídos na partilha ficam disponíveis no espaço de trabalho Databricks do destinatário assim que se concede acesso à partilha.
O destinatário agora pode acessar os dados compartilhados.
Como os destinatários acessam os dados compartilhados?
Os destinatários acessam ativos de dados compartilhados em formato somente leitura. Os arquivos de notebook compartilhados são somente leitura, mas podem ser clonados, modificados e executados no espaço de trabalho do destinatário como se fossem qualquer outro notebook.
O acesso seguro depende do modelo de partilha:
O compartilhamento aberto (o destinatário não tem um espaço de trabalho Databricks habilitado para o Unity Catalog) tem duas opções:
- No fluxo do token portador, o destinatário fornece a credencial sempre que acede aos dados da sua ferramenta preferida, incluindo Apache Spark, pandas, Power BI, Databricks e muitos mais. Consulte Ler dados compartilhados usando o compartilhamento aberto do Delta Sharing com tokens de portador (para destinatários).
- No fluxo de federação de token OIDC, o destinatário ou o aplicativo cliente do destinatário acessa os dados usando seu próprio IdP. Veja Receber partilhas Delta usando a federação Open ID Connect (OIDC) em um fluxo utilizador-máquina (partilha aberta) e Receber partilhas Delta usando um cliente Python e a federação Open ID Connect (OIDC) em um fluxo máquina-a-máquina (partilha aberta).
Databricks-to-Databricks (o espaço de trabalho do destinatário está habilitado para o Unity Catalog): o destinatário acede aos dados com o Databricks. Eles podem usar o Unity Catalog para conceder e negar acesso a outros usuários em sua conta Databricks. Consulte Ler dados compartilhados usando o compartilhamento delta de Databricks para Databricks (para destinatários).
Sempre que o provedor de dados atualiza tabelas ou volumes de dados em sua própria conta Databricks, as atualizações aparecem quase em tempo real no sistema do destinatário. Para saber como acessar dados que foram compartilhados com você usando o Compartilhamento Delta, consulte Acessar dados compartilhados com você usando o Compartilhamento Delta (para destinatários).
Como você controla quem está compartilhando e acessando dados compartilhados?
Os fornecedores de dados em espaços de trabalho Azure Databricks com Unity Catalog podem usar registos de auditoria e tabelas de sistema do Azure Databricks para monitorizar a criação e modificação de partilhas e destinatários, e podem monitorizar a atividade dos destinatários nas partilhas. Consulte Auditar e monitorar o compartilhamento de dados.
Os destinatários de dados que usam dados compartilhados em um espaço de trabalho do Databricks podem usar o log de auditoria do Databricks e as tabelas do sistema para entender quem está acessando quais dados. Consulte Auditar e monitorar o compartilhamento de dados.
Partilha de volumes
Você pode compartilhar volumes usando o fluxo de compartilhamento Databricks-to-Databricks. Consulte Adicionar volumes a uma partilha (para fornecedores) e Ler dados partilhados usando o Delta Sharing de Databricks-para-Databricks (para destinatários).
Modelos de partilha
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 o Compartilhamento Delta de Databricks para Databricks (para destinatários).
Partilhar blocos de notas
Você pode usar o Delta Sharing para partilhar blocos de anotações, utilizando o fluxo de partilha Databricks para Databricks. Consulte Adicionar ficheiros do bloco de notas a uma partilha (para fornecedores) e Ler blocos de notas partilhados (para destinatários).
Restringir o acesso ao nível da linha e da coluna ao partilhar vistas
Você pode compartilhar exibições dinâmicas que restringem o acesso a determinados dados da tabela com base nas propriedades do destinatário. Consulte Adicionar vistas dinâmicas a uma partilha para filtrar linhas e colunas.
Delta Sharing e streaming
O Delta Sharing suporta Apache Spark Structured Streaming. Um provedor pode compartilhar uma tabela com o histórico ou uma tabela de streaming para que um destinatário possa usá-la como uma fonte de Streaming Estruturado, processando dados compartilhados incrementalmente com baixa latência. Os destinatários também podem realizar consultas retroativas em Delta Lake em tabelas compartilhadas com acesso ao histórico.
Para saber como partilhar tabelas com o histórico, consulte Adicionar tabelas a uma partilha. Para saber mais sobre como usar tabelas partilhadas como fontes de streaming, consulte Consultar uma tabela usando o Apache Spark Structured Streaming (para os destinatários do compartilhamento Databricks-para-Databricks) ou Aceder a uma tabela partilhada usando o Spark Structured Streaming (para os destinatários da partilha aberta de dados).
Para saber como partilhar tabelas de streaming, consulte Adicionar tabelas de streaming a uma partilha.
Consulte também os conceitos de Streaming estruturado.
Matriz de suporte de funcionalidades Delta Lake
O Delta Sharing suporta a maioria dos recursos do Delta Lake quando você compartilha uma tabela. Esta matriz de suporte lista:
- Características da Delta que requerem versões específicas do Databricks Runtime, do conector open source Delta Sharing Spark, ou do conector open source Delta Sharing Python.
- Funcionalidades parcialmente suportadas.
| Feature | Provider | Destinatário do Databricks | Destinatário de software de código aberto |
|---|---|---|---|
| Vetores de eliminação |
|
|
|
| Mapeamento de colunas |
|
|
|
| Modelo uniforme |
|
|
|
| Ponto de verificação V2 | Suportado com limitações | Suportado com limitações | Suportado com limitações |
| TimestampNTZ | Supported | Tempo de execução do Databricks 14.1+ | Conector Delta Sharing Spark 3.3+ |
| Agrupamento de líquidos | Suportado com limitações | Suportado com limitações | Suportado com limitações |
Perguntas Frequentes sobre o Delta Sharing
A seguir estão as perguntas frequentes sobre o Delta Sharing.
Preciso do Unity Catalog para usar o Delta Sharing?
Não, você não precisa do Unity Catalog para compartilhar (como um provedor) ou consumir dados compartilhados (como um destinatário). No entanto, o Unity Catalog oferece benefícios como suporte para compartilhamento de ativos não tabulares e de IA, governança pronta para uso, simplicidade e desempenho de consulta.
Os fornecedores podem partilhar dados de duas formas:
Coloque os assets para partilhar na gestão do Unity Catalog e partilhe-os usando o servidor Azure Databricks Delta Sharing incorporado.
Não é necessário migrar todos os ativos para o Unity Catalog. Só precisas de um espaço de trabalho Azure Databricks que esteja ativado para o Unity Catalog gerir os ativos que queres partilhar. Em algumas contas, novos espaços de trabalho são habilitados para o Unity Catalog automaticamente. Consulte Ativação automática do Catálogo Unity.
Implemente o servidor de partilha Delta open para partilhar dados, sem necessariamente usar a sua conta Azure Databricks.
Os destinatários podem consumir dados de duas maneiras:
Sem uma área de trabalho do Databricks. Utilize conectores open source Delta Sharing disponíveis para muitas plataformas de dados, incluindo Power BI, pandas e o open source Apache Spark. Veja Ler dados partilhados usando a partilha aberta Delta Sharing com tokens de autenticação (para destinatários) e o projeto de código aberto Delta Sharing.
Numa área de trabalho do Databricks. Os espaços de trabalho de destinatários não precisam ser habilitados para o Unity Catalog, mas há vantagens de governança, simplicidade e desempenho.
As organizações beneficiárias que desejam essas vantagens não precisam migrar todos os ativos para o Unity Catalog. Só precisa de um espaço de trabalho Azure Databricks que esteja ativado para o Unity Catalog gerir os ativos partilhados consigo. Em algumas contas, novos espaços de trabalho são habilitados para o Unity Catalog automaticamente. Consulte Ativação automática do Catálogo Unity.
Consulte Ler dados compartilhados usando o compartilhamento aberto do Delta Sharing com tokens de portador (para destinatários) e Ler dados compartilhados usando o compartilhamento delta do Databricks para Databricks (para destinatários).
Preciso de ser um cliente do Databricks para utilizar o Delta Sharing?
Não, o Delta Sharing é 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 de qualquer plataforma de computação. Os destinatários podem consumir dados partilhados usando conectores open source Delta Sharing para muitos produtos de dados, incluindo Power BI, pandas e Spark open source.
No entanto, usar o Delta Sharing no Azure Databricks, especialmente a partilha a partir de um espaço de trabalho com Unity Catalog, traz muitas vantagens.
Para mais detalhes, consulte a primeira pergunta neste FAQ.
Como posso assumir e verificar os custos do Delta Sharing?
O custo do Delta Sharing é incorrido ao partilhar e aceder a visualizações, visualizações materializadas e tabelas de streaming. Estas são as potenciais fontes de custos de partilha:
- Custo de cálculo, cobrado pelo Azure Databricks.
- Custo de armazenamento e transferência de rede (saída), cobrado pelo fornecedor de armazenamento.
- Custo de fonte de computação estrangeira, ao compartilhar esquemas e tabelas estrangeiros.
O método pelo qual o cálculo é realizado e quem paga por ele depende de vários fatores:
- O tipo de computação do destinatário
- Quer a partilha ocorra dentro da mesma conta Azure Databricks ou entre contas
A tabela a seguir descreve o método de cobrança para compartilhar e acessar exibições usando o Compartilhamento Delta:
| Computação do destinatário | Relação com a conta | Quem paga | SKU usado para faturamento | Método de acesso |
|---|---|---|---|---|
| Databricks Serverless | Any | Recipient* | Sem servidor do destinatário | O destinatário recebe acesso direto aos dados subjacentes |
| Databricks Clássico | A mesma conta | Recipient* | Clássico do destinatário | O destinatário recebe acesso direto aos dados subjacentes |
| Databricks Clássico | Conta diferente | Recipient | Provedor interativo sem servidor | O provedor executa a filtragem |
| Abrir conectores de Delta Sharing | Any | Provider | Provedor interativo sem servidor | O provedor executa a filtragem |
* Quando você usa o Compartilhamento Delta com um destinatário usando a computação sem servidor em uma conta diferente, ou com um destinatário na mesma conta, não há cobrança incremental. Isso significa que não há custo adicional para materializar o ativo de dados.
Ao partilhar tabelas estrangeiras (Beta), a materialização é sempre realizada e armazenada no lado do fornecedor. Para tabelas Iceberg estrangeiras, a materialização é realizada do lado do fornecedor ao partilhar com um destinatário aberto que não utiliza um cliente Iceberg. Os provedores podem ver uma cobrança adicional atribuída ao armazenamento padrão usado para materialização de dados. Não existem custos de computação para tabelas estrangeiras durante a Beta.
A atribuição de faturamento também pode ser consultada usando a referência da tabela do sistema de uso faturável e a referência da tabela do sistema de histórico de materialização do Delta Sharing. Se o destinatário pagar pela atribuição, somente o destinatário poderá ver o registro associado na tabela do sistema. Para consultas de exemplo, consulte Consultas de exemplo.
O Delta Sharing tem custos de saída?
O serviço Delta Sharing dentro de uma região não acarreta custos de saída. Ao contrário de outras plataformas de partilha de dados, o Delta Sharing não requer replicação de dados. Este modelo tem muitas vantagens, mas significa que o fornecedor da cloud pode cobrar taxas de saída de dados quando partilha dados entre clouds ou regiões. O Azure Databricks suporta partilha a partir do Cloudflare R2, o que não implica taxas de saída, e fornece outras ferramentas e recomendações para monitorizar e evitar taxas de saída. Consulte Monitorar e gerenciar custos de saída do Delta Sharing (para provedores).
Os destinatários têm acesso direto aos dados subjacentes em visualizações compartilhadas, visualizações materializadas e tabelas de streaming?
Para vistas partilhadas, visualizações materializadas e tabelas de streaming, o destinatário dos dados tem acesso direto se uma das seguintes condições for verdadeira:
- O destinatário utiliza computação serverless ou computação clássica não dedicada na mesma conta do Azure Databricks.
- O destinatário utiliza computação serverless numa conta Azure Databricks diferente.
Caso contrário, os dados são materializados e filtrados no lado do provedor.
A materialização dos dados é armazenada no local de armazenamento pai do ativo de dados compartilhado.
Ao compartilhar ativos materializados, o computador processa a solicitação aplicando filtros necessários e criando materialização temporária armazenada em cache no armazenamento do provedor. Esses dados filtrados são entregues aos destinatários usando URLs de curta duração pré-assinadas, garantindo acesso seguro enquanto mantém o controle de acesso de provedor para destinatário.
Os provedores podem revogar o acesso do destinatário?
Sim, o acesso dos destinatários pode ser revogado a pedido e em níveis especificados de granularidade. Você pode negar acesso de destinatário a compartilhamentos específicos e endereços IP específicos, filtrar dados tabulares para um destinatário, revogar tokens de destinatário e excluir destinatários completamente. Consulte Revogar acesso de destinatário a um compartilhamento e Criar e gerenciar destinatários de dados para Compartilhamento Delta (compartilhamento de Databricks para Databricks).
Não é inseguro usar URLs pré-assinados?
O Delta Sharing utiliza URLs pré-assinados para fornecer acesso temporário a um ficheiro no armazenamento de objetos. Eles só são dados a destinatários que já têm acesso aos dados compartilhados. Eles são seguros porque têm curta duração e não expandem o nível de acesso além do que já lhes foi concedido aos destinatários.
Os tokens utilizados no protocolo de partilha aberta do Delta Sharing são seguros?
Como o Delta Sharing permite a partilha entre plataformas, ao contrário de outras plataformas de partilha de dados disponíveis, o protocolo de partilha requer um token aberto. Os provedores podem garantir a segurança do token configurando o tempo de vida do token, definindo controles de rede e revogando o acesso sob demanda. Além disso, o token não expande o nível de acesso além do que os destinatários já concederam. Consulte Considerações de segurança para tokens.
Se preferir não usar tokens para gerir o acesso a partilhas de destinatários, deve usar a partilha Databricks-para-Databricks ou contacte a equipa da sua conta Databricks para alternativas.
Qual é a diferença entre Lakeflow Connect e Delta Sharing?
O Delta Sharing permite que você compartilhe dados ao vivo com segurança entre plataformas, nuvens e regiões. O Databricks recomenda a ingestão usando conectores gerenciados porque eles são dimensionados para acomodar grandes volumes de dados, consultas de baixa latência e limites de API de terceiros. No entanto, convém consultar seus dados sem movê-los.
Quando você tiver uma escolha entre conectores gerenciados e Compartilhamento Delta, escolha Compartilhamento Delta para os seguintes cenários:
- Limitar a duplicação de dados.
- Consultando os dados mais recentes possíveis.
Limitações
Formato de tabela e suporte a funcionalidades
Requisitos de formato:
- Os dados tabulares devem estar em formato Delta ou tabela Iceberg gerida . Você pode de forma fácil converter tabelas Parquet em Delta — e vice-versa. Veja CONVERT TO DELTA.
- Delta Sharing só consegue ler tabelas UniForm como tabelas Delta.
Tabelas não suportadas:
- Os fornecedores não podem partilhar tabelas que usam clustering dinâmico com filtragem de partições.
- Os fornecedores não podem partilhar tabelas de dados R2 com o checkpoint V2.
- Os provedores não podem partilhar tabelas com colações ativadas.
- Os fornecedores não podem partilhar tabelas com filtros de linha ou máscaras de coluna.
- Os prestadores não podem partilhar
SHALLOW CLONEtabelas. O Azure Databricks não suporta URLs de pré-assinatura para registos Delta que referenciam caminhos absolutos. - Os fornecedores não podem partilhar tabelas Iceberg geridas com clientes externos Iceberg. Veja Adicionar tabelas Iceberg geridas a uma partilha e Permitir a partilha com clientes Iceberg externos.
- As restrições de chave estrangeira não estão disponíveis em tabelas compartilhadas.
Apenas partilha de Databricks-para-Databricks
Os seguintes recursos só podem ser partilhados através do fluxo de partilha Databricks-to-Databricks:
- Partilha de cadernos. Consulte Adicionar arquivos de bloco de anotações a um compartilhamento e Ler dados compartilhados usando o Compartilhamento Delta de Databricks para Databricks (para destinatários).
- Partilha de volume. Consulte Adicionar volumes a uma partilha (para provedores) e Ler dados partilhados usando o Databricks-to-Databricks Delta Sharing (para destinatários).
- Partilha de modelos. Consulte Adicionar modelos a uma partilha (para provedores) e Ler dados partilhados usando o Delta Sharing de Databricks para Databricks (para destinatários).
Views
- As exibições compartilháveis devem ser definidas em tabelas Delta ou outras exibições compartilháveis. Consulte Adicionar vistas a uma partilha (para fornecedores) e Ler vistas partilhadas (para destinatários).
Serviço de streaming
- O Delta Sharing não suporta alterar
responseFormatenquanto uma fonte de streaming está em execução ou durante reinicializações de streaming.
Metadados do destinatário
- As tabelas de
information_schemaum catálogo partilhado refletem metadados armazenados no Unity Catalog. Estes metadados são atualizados pelo fornecedor apenas quando consulta diretamente a tabela partilhada ou executa um comando como DESCRIBE ou REFRESH FOREIGN. Até lá,information_schemapode parecer obsoleto comparado com os dados do fornecedor.
Recursos e limites técnicos
- Há limites para o número de arquivos em metadados permitidos para uma tabela compartilhada. Para saber mais, consulte Erros excedidos no limite de recursos.
- Os esquemas nomeados
information_schemanão podem ser importados para um metastore do Unity Catalog, porque esse nome do esquema está reservado no Unity Catalog.
Consulte também a matriz de suporte de recursos Delta Lake.
Eliminações em cascata ignoram a proteção de partilha
Eliminar um objeto pai, como um catálogo ou esquema, desencadeia uma remoção em cascata dos seus objetos filhos, mesmo que estejam incluídos em partilhas ativas. Depois de remover um ativo através de eliminação em cascata, não é possível voltar a adicionar um ativo com o mesmo nome à partilha.
Para evitar este problema, remova os recursos de todas as partilhas antes de eliminar os respetivos objetos principais.
Quotas de recursos
Azure Databricks impõe quotas de recursos em todos os objetos securáveis do Delta Sharing. Essas cotas estão listadas em Limites de recursos. Se espera ultrapassar estes limites de recursos, contacte a sua equipa de contas no Azure Databricks.
Você pode monitorar o uso da cota usando as APIs de cotas de recursos do Unity Catalog. Consulte Monitorar o uso das cotas de recursos do Unity Catalog.