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 OpenSharing no Azure Databricks, a plataforma segura de partilha de dados que 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 OpenSharing é também a base do Databricks Marketplace, um fórum aberto para a troca de produtos de dados, e do Clean Rooms, um ambiente seguro e que protege a privacidade onde múltiplas partes podem trabalhar em conjunto em dados empresariais sensíveis.
O OpenSharing também está disponível como um projeto open-source que pode usar para partilhar tabelas Delta a partir de outras plataformas.
Como funciona o OpenSharing?
OpenSharing é um protocolo aberto desenvolvido pela Databricks para partilha segura de dados com outras organizações. Funciona independentemente das plataformas informáticas que essas organizações utilizem.
Existem algumas formas de partilhar dados usando o OpenSharing:
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 OpenSharing que está integrado no Azure Databricks. Suporta algumas funcionalidades do OpenSharing que não são suportadas nos outros protocolos, incluindo partilha de notebooks, partilha de volumes do Unity Catalog, partilha de modelos de IA do Unity Catalog, governação de dados do Unity Catalog, auditoria e acompanhamento de utilização tanto para fornecedores como para 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.
Veja o que é o protocolo OpenSharing Databricks-to-Databricks.
O protocolo de partilha Databricks-to-Open, que lhe permite partilhar dados tabulares que gere num espaço de trabalho Databricks compatível com o Unity Catalog com utilizadores em qualquer plataforma informática.
Esta abordagem utiliza o servidor OpenSharing, 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 não têm acesso a um espaço de trabalho Databricks com Unity Catalog. A integração com o Unity Catalog no lado do provedor simplifica a configuração e a governança para provedores.
Veja O que é o protocolo de partilha OpenSharing Databricks-to-Open?.
Uma implementação gerida pelo próprio cliente do servidor OpenSharing de código aberto, que permite partilhar a partir de qualquer plataforma para qualquer outra plataforma, quer seja a Databricks ou não.
A documentação do Azure Databricks não cobre instruções para configurar o seu próprio servidor OpenSharing. Veja o projeto open source.
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.
Esta abordagem utiliza o SAP BDC Connector, que utiliza o OpenSharing para acesso ao vivo e sem cópias a produtos de dados SAP BDC.
Partilhas, fornecedores e destinatários
Os conceitos principais subjacentes ao OpenSharing no Azure Databricks são partilhas, fornecedores e destinatários.
O que é uma ação?
No OpenSharing, uma partilha é uma coleção de tabelas e partições de tabelas apenas de leitura que um prestador quer partilhar 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 partilhas para OpenSharing.
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 OpenSharing 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. Pode simplesmente criar um novo espaço de trabalho com Unity Catalog para as suas necessidades de OpenSharing.
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.
Veja Criar destinatários de dados para OpenSharing (partilha de Databricks para Databricks).
Partilha de Databricks para Open 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 como configurar um servidor OpenSharing open-source para partilhar a partir de uma plataforma que não seja Databricks ou de um espaço de trabalho que não seja do Unity Catalog, consulte o projeto open source.
A forma como um fornecedor utiliza o OpenSharing no Azure Databricks depende de com quem partilha dados:
- A partilha aberta permite-lhe partilhar dados com qualquer utilizador, quer tenha ou não acesso ao 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 suporta a partilha de notebooks, volumes e modelos, o que não está disponível na partilha Databricks-to-Open.
O que é o OpenSharing aberto?
Se quiser partilhar dados com utilizadores fora do seu espaço de trabalho do Azure Databricks, independentemente de usarem Databricks, pode usar o OpenSharing aberto 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.
- Utiliza-se a federação Open ID Connect (OIDC), concedendo tokens Databricks OAuth de curta duração ao destinatário em troca de tokens JWT que o fornecedor de identidade (IdP) do destinatário passa para a 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 uma lista completa de conectores OpenSharing e informações sobre como os utilizar, consulte a documentação OpenSharing .
Ver também O que é o protocolo de partilha OpenSharing Databricks-to-Open?.
O que é o OpenSharing de Databricks para Databricks?
Se quiser partilhar dados com utilizadores que tenham um espaço de trabalho Databricks ativado para o Unity Catalog, pode usar Databricks-to-Databricks OpenSharing. O compartilhamento entre contas Databricks permite compartilhar dados com usuários de outras contas Databricks, estejam eles 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. Note que não há necessidade de usar o OpenSharing para partilhar dados entre espaços de trabalho ligados ao mesmo metastore do Catálogo Unity, porque nesse cenário pode usar o próprio Catálogo Unity para gerir o acesso a 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 ligação de partilha — incluindo toda a verificação de identidade, autenticação e auditoria — é gerida inteiramente através do OpenSharing 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.
Ver também Qual é o protocolo OpenSharing Databricks-to-Databricks?.
Como é que os administradores dos fornecedores configuram o OpenSharing?
Esta secção apresenta uma visão geral de como os fornecedores podem ativar o OpenSharing e iniciar a partilha a partir de um espaço de trabalho do Azure Databricks compatível com o Unity Catalog. Para o OpenSharing de código aberto, consulte o projeto de código aberto.
A partilha de Databricks para Databricks entre metastores do Unity Catalog na mesma conta está sempre ativada. Se for um fornecedor que quer permitir que o OpenSharing 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):
Ativa o OpenSharing para a metastore do Unity Catalog que gere os dados que queres partilhar.
Note
Não precisa de ativar o OpenSharing na sua metastore se pretende usar o OpenSharing para partilhar dados apenas com utilizadores noutras metastores do Unity Catalog na sua conta. A partilha entre metastores numa única conta do Azure Databricks está ativada por predefinição.
Crie um compartilhamento que inclua ativos de dados registrados no metastore do Unity Catalog.
Se estiver a partilhar com um destinatário que não seja Databricks (conhecido como partilha Databricks-to-Open), pode 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 partilhas para OpenSharing.
Crie um destinatário.
Veja Criar destinatários de dados para OpenSharing (partilha de Databricks para Databricks).
Se o seu destinatário não for utilizador do Databricks, ou não tiver acesso a um espaço de trabalho Databricks ativado para o Unity Catalog, deve usar a partilha Databricks-to-Open. 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.
Dica
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 acesso a partilhas de dados OpenSharing (para fornecedores).
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 aceder à partilha (apenas partilha de Databricks para Open).
Para a partilha de Databricks para Open com tokens de portador, utilize um canal seguro para enviar ao destinatário uma ligação de ativação que lhe permita descarregar as suas credenciais baseadas em token. Consulte Enviar informações de conexão ao destinatário.
Para partilha Databricks-to-Open usando federação de tokens OIDC, envie a URL do portal gerada. Consulte Ativar a federação Open ID Connect (OIDC) para destinatários do OpenSharing.
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:
A partilha Databricks-to-Open (o destinatário não tem um espaço de trabalho Databricks ativado para o Catálogo Unity) tem duas opções:
- No fluxo de token do portador, o destinatário fornece a credencial sempre que acede aos dados na ferramenta da sua escolha, incluindo Apache Spark, pandas, Power BI, Databricks e muito mais. Veja Ler dados partilhados usando a partilha OpenSharing Databricks-to-Open com tokens portadores.
- No fluxo de federação de tokens OIDC, o destinatário ou a aplicação cliente do destinatário acede aos dados utilizando o respetivo fornecedor de identidade (IdP). Veja Ler dados partilhados usando a federação Open ID Connect (OIDC) num fluxo U2M e Ler dados partilhados usando a federação Open ID Connect (OIDC) num fluxo M2M.
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. Veja Ler dados partilhados usando Databricks-para-Databricks OpenSharing (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 aceder a dados que foram partilhados consigo através do OpenSharing, consulte Acesso a dados partilhados consigo através do OpenSharing (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. Veja Adicionar volumes a uma partilha (para fornecedores) e Ler dados partilhados usando Databricks-para-Databricks OpenSharing (para destinatários) (para destinatários).
Modelos de partilha
Você pode compartilhar modelos usando o fluxo de compartilhamento Databricks-to-Databricks. Veja Adicionar modelos a uma partilha (para fornecedores) e Ler dados partilhados com o OpenSharing Databricks-to-Databricks (para destinatários).
Partilhar blocos de notas
Pode usar o OpenSharing para partilhar ficheiros de cadernos usando o fluxo de partilha Databricks-para-Databricks. Veja Adicionar arquivos de blocos de notas a um compartilhamento (para fornecedores) e Ler blocos de notas compartilhados (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 Adicione vistas dinâmicas a uma partilha para filtrar linhas e colunas.
OpenSharing e streaming
O OpenSharing suporta o 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 como utilizar tabelas partilhadas como origens de streaming, consulte Consultar uma tabela com o Apache Spark Structured Streaming (para destinatários da partilha Databricks-to-Databricks) ou Aceder a uma tabela partilhada com o Spark Structured Streaming (para destinatários de dados de partilha Databricks-to-Open).
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 OpenSharing suporta a maioria das funcionalidades do Delta Lake quando partilha uma tabela. Esta matriz de suporte lista:
- Funcionalidades do Delta que requerem versões específicas do Databricks Runtime, do conector OpenSharing Spark de código aberto ou do conector OpenSharing Python de código aberto.
- 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 OpenSharing Spark 3.3+ |
| Agrupamento de líquidos | Suportado com limitações | Suportado com limitações | Suportado com limitações |
Perguntas Frequentes sobre OpenSharing
As seguintes são perguntas frequentes sobre o OpenSharing.
Preciso do Unity Catalog para usar o OpenSharing?
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 sob a gestão do Unity Catalog e partilhe-os usando o servidor OpenSharing integrado no Azure Databricks.
Não precisa de migrar todos os assets 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 Introdução ao Catálogo Unity.
Implemente o servidor de partilha Databricks-to-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 OpenSharing open source disponíveis para muitas plataformas de dados, incluindo Power BI, pandas e o open source Apache Spark. Veja Ler dados partilhados usando a partilha OpenSharing Databricks-to-Open com tokens portadores e o projeto open source OpenSharing.
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 Introdução ao Catálogo Unity.
Veja Ler dados partilhados usando OpenSharing Databricks-to-Open com tokens portadores e Ler dados partilhados usando Databricks-to-Databricks OpenSharing (para destinatários).
Preciso de ser cliente da Databricks para usar o OpenSharing?
Não, o OpenSharing é um protocolo aberto. Você pode compartilhar dados que não sejam do Databricks com destinatários em qualquer plataforma de dados. Os fornecedores podem configurar um servidor OpenSharing aberto para partilhar a partir de qualquer plataforma informática. Os destinatários podem consumir dados partilhados usando conectores OpenSharing open source para muitos produtos de dados, incluindo Power BI, pandas e o Spark open source.
No entanto, usar o OpenSharing no Azure Databricks, especialmente a partilha a partir de um espaço de trabalho compatível com o Unity Catalog, traz muitas vantagens.
Para mais detalhes, consulte a primeira pergunta neste FAQ.
Como posso incorrer e verificar os custos do OpenSharing?
O custo do OpenSharing incorre 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 computação, cobrado pelo Azure Databricks.
- Custo de armazenamento e transferência de rede (saída), cobrado pelo fornecedor de armazenamento ou pelo Azure Databricks se o fornecedor usar o SecureConnect.
- 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
- Se o compartilhamento ocorre dentro da mesma conta do Azure Databricks ou entre contas
A tabela seguinte descreve a forma de faturação para partilhar vistas e aceder às mesmas através do OpenSharing:
| 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 |
| Conectores de partilha de Databricks para Open | Any | Provider | Provedor interativo sem servidor | O provedor executa a filtragem |
* Quando utiliza o OpenSharing com um destinatário que usa computação sem servidor noutra conta, ou com um destinatário na mesma conta, não há qualquer encargo adicional. 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 da faturação também pode ser consultada através da referência da tabela de sistema da utilização faturável e da referência da tabela de sistema do histórico de materialização do OpenSharing. 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 OpenSharing implica custos de saída?
O OpenSharing dentro de uma região não implica custo de saída. Ao contrário de outras plataformas de partilha de dados, o OpenSharing 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. Veja Monitorizar e gerir os custos de saída do OpenSharing (para fornecedores).
No entanto, se o fornecedor usar o SecureConnect, a transferência de dados é cobrada pelo Azure Databricks em vez do fornecedor da cloud.
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 usa computação sem servidor ou computação clássica não dedicada na mesma conta do Azure Databricks.
- O destinatário usa computação sem servidor em uma conta diferente do Azure Databricks.
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. Veja Revogar o acesso de um destinatário a uma partilha e Criar destinatários de dados no OpenSharing (partilha entre Databricks).
Não é inseguro usar URLs pré-assinados?
O OpenSharing 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 usados no protocolo de partilha OpenSharing Databricks-to-Open são seguros?
Como o OpenSharing permite a partilha entre plataformas — ao contrário de outras plataformas 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 o Lakeflow Connect e o OpenSharing?
O OpenSharing permite-lhe partilhar dados em tempo real de forma segura entre plataformas, clouds 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 tiver de escolher entre conectores geridos e OpenSharing, escolha OpenSharing 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. Consulte CONVERT TO DELTA.
- O OpenSharing só pode 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. Veja Adicionar ficheiros de cadernos a uma partilha e Ler dados partilhados usando Databricks-to-Databricks OpenSharing (para destinatários).
- Partilha de volume. Veja Adicionar volumes a uma partilha (para fornecedores) e Ler dados partilhados através de Open Sharing Databricks-to-Databricks (para destinatários).
- Partilha de modelos. Veja Adicionar modelos a uma partilha (para fornecedores) e Ler dados partilhados usando Databricks-to-Databricks OpenSharing (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).
Streaming
- O OpenSharing não suporta alterações
responseFormatenquanto uma fonte de streaming está a correr ou durante reinicios 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
- Existem limites para o número de ficheiros em metadados permitidos para uma tabela partilhada. 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
O Azure Databricks impõe quotas de recursos a todos os objetos seguros OpenSharing. Essas cotas estão listadas em Limites de recursos. Se você espera exceder esses limites de recursos, entre em contato com sua equipe de conta do 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.
Recursos adicionais
- Ative a sua conta Databricks para o OpenSharing
- Criar compartilhamentos
- Criar destinatários
- Saiba mais sobre os modelos de partilha Databricks-to-Open e Databricks-to-Databricks
- Saiba como os destinatários acessam dados compartilhados