Pular para o conteúdo principal

O que é OpenSharing?

Esta página apresenta o OpenSharing no Databricks, a plataforma segura de compartilhamento de dados que permite compartilhar dados e ativos de IA no Databricks com usuários fora da sua organização, independentemente de eles usarem o Databricks ou não. O OpenSharing também é a base para Databricks Marketplace, um fórum aberto para troca de produtos de dados.

OpenSharing 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 compartilhamento aberto?

O OpenSharing é um protocolo aberto desenvolvido pelo Databricks para compartilhamento seguro de dados com outras organizações. Ele funciona independentemente das plataformas de computação que essas organizações utilizam.

Há algumas maneiras de compartilhar dados com o OpenSharing:

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

    Essa abordagem usa o servidor OpenSharing que é integrado ao Databricks. Ele oferece suporte a alguns recursos do OpenSharing que não são suportados em outros protocolos, incluindo compartilhamento de Notebook, compartilhamento de volume do Unity Catalog, compartilhamento de modelo de AI 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 O que é o protocolo OpenSharing Databricks-to-Databricks?.

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

    Essa abordagem utiliza o servidor OpenSharing que é integrado ao Databricks e é útil quando você gerencia dados usando o Unity Catalog e deseja compartilhá-los com usuários que não usam o Databricks ou não têm acesso a um workspace do Databricks habilitado para Unity Catalog. A integração com o Unity Catalog no lado do provedor simplifica a configuração e a governança para os provedores.

    Consulte O que é o protocolo de compartilhamento OpenSharing Databricks-to-Open?.

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

    A documentação da Databricks não contém instruções para configurar seu próprio servidor OpenSharing. Explorar o projeto de código aberto.

  4. O Conector SAP Business Data Cloud (BDC) para Databricks, que permite o compartilhamento de dados entre o seu workspace habilitado para Unity Catalog e uma account do SAP BDC.

    Esta abordagem usa o Conector SAP BDC, que utiliza o OpenSharing para acesso em tempo real e sem cópia a produtos de dados SAP BDC.

    Consulte O que é o conector SAP BDC para Databricks?.

Compartilhamentos, provedores e destinatários

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

O que é um compartilhamento?

No OpenSharing, um compartilhamento é uma coleção somente para leitura de tabelas e partições de tabelas que um provedor deseja compartilhar com um ou mais destinatários. Se o destinatário usar um workspace do Databricks habilitado para Unity Catalog, você também pode incluir arquivos de notebook, views (incluindo views dinâmicas que restringem o acesso em nível de linha e coluna), volumes do Unity Catalog e modelos do Unity Catalog em um compartilhamento.

Você pode adicionar ou remover tabelas, tabelas de transmissão, tabelas Iceberg gerenciadas, views, views materializadas, volumes, modelos e arquivos de Notebook de um compartilhamento a qualquer momento, e você pode atribuir ou revogar o acesso do destinatário de dados a um compartilhamento a qualquer momento.

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

Consulte Criar compartilhamentos para o OpenSharing.

O que é um provedor?

Um provedor é uma entidade que compartilha dados com um destinatário. Se você for um provedor e quiser aproveitar o servidor OpenSharing do Databricks integrado e gerenciar compartilhamentos e destinatários utilizando o Unity Catalog, é necessário ter pelo menos um workspace do Databricks habilitado para Unity Catalog. Não é necessário migrar todos os seus workspaces existentes para o Unity Catalog. Você pode criar um novo workspace habilitado para Unity Catalog para suas necessidades do OpenSharing.

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

O que é um destinatário?

O destinatário é uma entidade que recebe compartilhamentos do provedor. No Unity Catalog, um compartilhamento é um objeto protegido 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 de seu metastore do Unity Catalog, esse destinatário perde acesso a todos os compartilhamentos que ele podia acessar anteriormente.

Consulte Criar destinatários de dados para OpenSharing (compartilhamento Databricks-to-Databricks).

Compartilhamento Databricks-to-Open versus compartilhamento Databricks-to-Databricks

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

nota

Esta seção pressupõe que o provedor está em um workspace do Databricks habilitado para o Unity Catalog. Para saber como configurar um OpenSharing server de código aberto para compartilhar de uma plataforma que não seja o Databricks ou de um workspace que não seja o Unity Catalog, consulte o projeto de código aberto.

A maneira como o provedor utiliza o OpenSharing no Databricks depende 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 Databricks-to-Databricks permite compartilhar 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 notebook, volume e modelo, que não está disponível no compartilhamento Databricks-para-aberto.

O que é Compartilhamento Aberto?

Se você deseja compartilhar dados com usuários fora do seu Databricks workspace, independentemente de usar o Databricks, pode usar o OpenSharing aberto para compartilhar seus dados com segurança. Como provedor de dados, gerencie a autenticação com o destinatário de compartilhamento usando um dos seguintes métodos:

  • Gera um token do portador 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 incluiu nos compartilhamentos aos quais lhes foi dado acesso.
  • Você usa a federação Open ID Connect (OIDC), concedendo tokens OAuth do Databricks de curta duração ao destinatário em troca de tokens JWT que o provedor de identidade (IdP) do destinatário passa para o Databricks.

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

  • Databricks
  • Apache Spark
  • Pandas
  • Power BI

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

Consulte também O que é o protocolo de compartilhamento Databricks-to-Open do OpenSharing?.

O que é o OpenSharing Databricks-to-Databricks?

Se você quiser compartilhar dados com usuários que têm um workspace do Databricks que está habilitado para o Unity Catalog, você pode usar o Databricks-to-Databricks OpenSharing. O compartilhamento Databricks-to-Databricks permite que você compartilhe dados com usuários em outras contas Databricks, estejam eles na AWS, no Azure ou no GCP. Também é uma ótima maneira de compartilhar dados com segurança entre diferentes metastores do Unity Catalog em sua própria conta do Databricks. Observe que não é necessário usar o OpenSharing para compartilhar dados entre workspaces conectados ao mesmo metastore do Unity Catalog, pois, nesse cenário, você pode usar o próprio Unity Catalog para gerenciar o acesso aos dados entre workspaces.

Uma vantagem do compartilhamento Databricks-to-Databricks é que o destinatário do compartilhamento não precisa de um token para acessar o compartilhamento, e o provedor não precisa gerenciar 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 OpenSharing e da plataforma Databricks. Outra vantagem é a capacidade de compartilhar arquivos de Notebook do Databricks, volumes do Unity Catalog e modelos do Unity Catalog.

Consulte também O que é o protocolo OpenSharing Databricks-to-Databricks?.

Como os administradores de provedores configuram o OpenSharing?

Esta seção traz uma visão geral de como os provedores podem habilitar o OpenSharing e iniciar o compartilhamento do workspace do Databricks habilitado para Unity Catalog. Para o OpenSharing de código aberto, consulte o projeto de código aberto.

O compartilhamento Databricks-to-Databricks entre metastores do Unity Catalog na mesma account está sempre habilitado. Se você é um provedor que deseja habilitar o OpenSharing para compartilhar dados com workspaces do Databricks em outras contas ou clientes não-Databricks, um administrador account do Databricks ou administrador de metastore executa os seguintes os passos de configuração (em alto nível):

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

Não é necessário habilitar o OpenSharing no seu metastore caso pretenda usar o OpenSharing apenas para compartilhar dados com usuários em outros metastores do Unity Catalog em sua conta. O compartilhamento de metastore para metastore em uma única account do Databricks é habilitado por default.

Consulte Ativar o OpenSharing em um metastore. 2. Criar um compartilhamento que inclui 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 Databricks-to-Open), você pode incluir tabelas no formato Delta. Se você planeja usar o compartilhamento Databricks-to-Databricks, você também pode adicionar views, volumes do Unity Catalog, modelos do Unity Catalog e arquivos de Notebook a um compartilhamento.

Consulte Criar compartilhamentos para o OpenSharing. 3. Crie um destinatário.

Consulte Criar destinatários de dados para OpenSharing (compartilhamento Databricks-to-Databricks).

Se o destinatário não for um usuário do Databricks, ou não tiver acesso a um workspace do Databricks habilitado para Unity Catalog, você deve usar o compartilhamento Databricks-to-Open. É possível gerar credenciais baseadas em token de acesso para esse destinatário ou usar a federação OIDC.

Se o destinatário tiver acesso a um workspace do Databricks habilitado para Unity Catalog, é possível usar o compartilhamento Databricks-to-Databricks, e nenhuma credencial baseada em tokens é necessária. Solicita-se um identificador de compartilhamento do destinatário e utiliza-se para estabelecer a conexão segura.

dica

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

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

    Consulte Gerenciar acesso a compartilhamentos de dados do OpenSharing (para provedores).

nota

Esta etapa 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 referência de privilégios do Unity Catalog.

  1. Envie ao destinatário as informações de que precisa para se conectar ao compartilhamento (compartilhamento Databricks-to-Open somente).

    Para compartilhamento aberto da Databricks usando tokens de acesso, use um canal seguro para enviar ao destinatário um link de ativação que permite que ele baixe suas credenciais baseadas em token. Consulte Enviar ao destinatário suas informações de conexão.

    Para compartilhamento de Databricks para Open usando federação de tokens OIDC, envie o URL do portal gerado. Consulte Ativar a federação do Open ID Connect (OIDC) para destinatários do OpenSharing.

    Para compartilhamento Databricks-to-Databricks, os dados incluídos no compartilhamento ficam disponíveis no workspace do Databricks do destinatário assim que o acesso ao compartilhamento é concedido.

Agora, o destinatário pode acessar os dados compartilhados.

Como os destinatários acessam os dados compartilhados?

Destinatários acessam ativos de dados compartilhados em formato somente para leitura. Arquivos de notebook compartilhados são somente para leitura, mas podem ser clonados e depois modificados e executados no workspace do destinatário, assim como qualquer outro notebook.

O acesso seguro depende do modelo de compartilhamento:

Sempre que o provedor de dados atualiza tabelas de dados ou volumes em sua própria account do Databricks, as atualizações aparecem quase em tempo real no sistema do destinatário. Para aprender como acessar dados que foram compartilhados com você usando OpenSharing, consulte Acessar dados compartilhados com você usando OpenSharing (para destinatários).

Como acompanhar quem está em compartilhamento e acessando os dados compartilhados?

Os provedores de dados em workspace do Databricks habilitadas para o Unity Catalog podem usar o log de auditoria e as tabelas do sistema do Databricks para monitorar a criação e a modificação de compartilhamentos e destinatários, e podem monitorar a atividade do destinatário nos compartilhamentos. Consulte Auditar e monitorar o compartilhamento de dados.

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

Compartilhamento de 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 utilizando o Databricks-to-Databricks compartilhamento aberto (para destinatários) (para destinatários).

Compartilhamento de 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 utilizando Databricks-to-Databricks OpenSharing (para destinatários) (para destinatários).

Compartilhamento de Notebooks

Você pode usar o OpenSharing para compartilhar arquivos de Notebook usando o fluxo de compartilhamento Databricks-para-Databricks. Consulte Adicionar arquivos de Notebook a um compartilhamento (para provedores) e Ler Notebooks compartilhados (para destinatários).

Restringindo o acesso em nível de linha e coluna ao compartilhar visualizações

Você pode compartilhar views dinâmicas que restringem o acesso a determinados dados da tabela com base nas propriedades do destinatário. Consulte Adicione views dinâmicas a um compartilhamento para filtrar linhas e colunas.

Compartilhamento aberto e transmissão

O OpenSharing oferece suporte à transmissão estructurada do Apache Spark. Um provedor pode compartilhar uma tabela com história ou uma tabela de transmissão para que um destinatário possa usá-la como uma fonte de transmissão estructurada, 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ória, consulte Adicionar tabelas a um compartilhamento. Para saber como usar tabelas compartilhadas como fontes de transmissão, consulte Consultar uma tabela usando Apache Spark transmissão estructurada (para destinatários de compartilhamento Databricks-to-Databricks) ou Acessar uma tabela compartilhada usando Spark transmissão estructurada (para destinatários de compartilhamento de dados Databricks-to-Open).

Para saber como compartilhar tabelas de transmissão, consulte Adicionar tabelas de transmissão a um compartilhamento.

Consulte também conceitos de Transmissão Estructurada.

Matriz de suporte de recursos do Delta Lake

OpenSharing oferece suporte para a maioria dos recursos do Delta Lake ao compartilhar uma tabela. Esta matriz de suporte lista:

  • Recursos do Delta que exigem versões específicas do Databricks Runtime, o conector Spark OpenSharing de código aberto ou o conector Python OpenSharing de código aberto.
  • Recursos parcialmente compatíveis.

Recurso

Provedor

destinatário do Databricks

Destinatário de código aberto

Vetores de deleção

  • O compartilhamento de tabelas com este recurso está em Pré-lançamento público.
  • As tabelas devem ser compartilhadas com história.
  • Databricks Runtime 14.1 ou superior para consultas em lotes
  • Databricks Runtime 14.2 e superior para consultas CDF e de transmissão.
  • OpenSharing conector Spark 3.1+
  • Conector Python OpenSharing 1.1.0+
  • Power BI v2.132.908.0+

Mapeamento de coluna

  • O compartilhamento de tabelas com este recurso está em Pré-lançamento público.
  • As tabelas devem ser compartilhadas com história.
  • Databricks Runtime 14.1 ou superior para consultas em lotes
  • Databricks Runtime 14.2 e superior para consultas CDF e de transmissão.
  • OpenSharing conector Spark 3.1+
  • Suportado com limitações no conector Python do OpenSharing
  • Power BI v2.132.908.0+

Formato uniforme

  • O compartilhamento de tabelas com este recurso está em Pré-lançamento público.
  • As tabelas devem ser compartilhadas com história.
  • Databricks Runtime 14.1 ou superior para consultas em lotes
  • Databricks Runtime 14.2 e superior para consultas CDF e de transmissão.
  • OpenSharing conector Spark 3.1+
  • Conector Python OpenSharing 1.1.0+
  • Power BI v2.132.908.0+

Ponto de verificação V2

Compatível com limitações

Compatível com limitações

Compatível com limitações

TimestampNTZ

Suportado

Databricks Runtime 14.1 ou superior

OpenSharing Spark conector 3.3+

Clusters líquidos

Compatível com limitações

Compatível com limitações

Compatível com limitações

Perguntas frequentes do OpenSharing

As seguintes são Perguntas Frequentes sobre o OpenSharing.

Preciso do Unity Catalog para usar o OpenSharing?

Não é necessário o 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 de ativos não tabulares e de AI, governança pronta para uso, simplicidade e desempenho de consulta.

Os provedores podem compartilhar dados de duas maneiras:

  • Coloque os ativos a serem compartilhados no gerenciamento do Unity Catalog e compartilhe-os utilizando o servidor integrado Databricks OpenSharing.

    Você não precisa migrar todos os ativos para o Unity Catalog. Você precisa de apenas um workspace do Databricks habilitado para o Unity Catalog para gerenciar ativos que você deseja compartilhar. Em algumas contas, os novos workspaces são habilitados para Unity Catalog automaticamente. Consulte Comece a usar o Unity Catalog.

  • Implemente o servidor de compartilhamento Databricks-para-Open para compartilhar dados, sem ter que usar, necessariamente, a sua account do Databricks.

Os destinatários podem consumir os dados de duas maneiras:

  • Sem um workspace do Databricks. Utilize conectores OpenSharing 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 utilizando o compartilhamento Databricks-para-aberto do OpenSharing com tokens de portador e o projeto de código aberto do OpenSharing.

  • Em um workspace do Databricks. Os workspaces dos destinatários não precisam ser habilitados para Unity Catalog, mas há vantagens de governança, simplicidade e desempenho caso sejam.

    As organizações dos destinatários que desejam ter essas vantagens não precisam migrar todos os ativos para o Unity Catalog. Basta ter um workspace do Databricks habilitado para Unity Catalog para gerenciar ativos que são compartilhados com você. Em algumas contas, os novos workspaces são habilitados para Unity Catalog automaticamente. Consulte Comece a usar o Unity Catalog.

Consulte Ler dados compartilhados utilizando o Compartilhamento Aberto Databricks para Compartilhamento Aberto com tokens de portador e Ler dados compartilhados utilizando o Databricks-to-Databricks Compartilhamento Aberto (para destinatários).

Preciso ser cliente da Databricks para usar o OpenSharing?

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

No entanto, o uso de OpenSharing no Databricks, especialmente o compartilhamento por um workspace habilitado para Unity Catalog, tem muitas vantagens.

Para ver os detalhes, consulte a primeira pergunta desta seção de dúvidas frequentes.

Como eu incorro e verifico os custos do OpenSharing?

O custo do OpenSharing incorre ao compartilhamento e acessar visualizações, visualizações materializadas e tabelas de transmissão. Estas são as fontes de custo em potencial para compartilhamento:

  • Custo de compute, cobrado pelo Databricks.

  • Custo de armazenamento e transferência de rede (egress), cobrado pelo fornecedor de armazenamento.

  • Custo da fonte de compute estrangeira, quando do compartilhamento de esquemas e tabelas estrangeiras.

O método pelo qual o compute é executado e quem paga por ele depende de diversos fatores:

  • O tipo de compute do destinatário
  • Se o compartilhamento ocorre na mesma conta Databricks ou entre contas

A tabela a seguir descreve o método de cobrança para compartilhamento e acesso a views usando o OpenSharing:

Compute do Destinatário

Relacionamento de account

Quem paga

SKU usado para faturamento

Método de acesso

Databricks Serverless

Qualquer um

Destinatário*

serverless do destinatário

O destinatário recebe acesso direto aos dados subjacentes.

Databricks Classic

Mesma account

Destinatário*

Destinatário Clássico

O destinatário recebe acesso direto aos dados subjacentes.

Databricks Classic

account diferente

Destinatário

Serverless interativo do provedor

O provedor realiza a filtragem

Conectores de compartilhamento Databricks-para-aberto

Qualquer um

Provedor

Serverless interativo do provedor

O provedor realiza a filtragem

* Ao utilizar o OpenSharing com um destinatário que utiliza compute serverless em uma account diferente, ou com um destinatário na mesma account, não há cobrança incremental. Isso significa que não há custo adicional para a materialização do ativo de dados.

Ao compartilhar tabelas externas (Beta), a materialização é sempre realizada e armazenada no lado do provedor. Para tabelas externas Iceberg, a materialização é realizada no lado do provedor ao compartilhar com um destinatário aberto que não usa um cliente Iceberg. Provedores podem ver uma cobrança adicional atribuída ao armazenamento default usado para materialização de dados. Não há custos de compute para tabelas externas durante o 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 OpenSharing. Se o destinatário paga pela atribuição, então somente o destinatário pode ver o registro associado na tabela do sistema. Para exemplos de consultas, consulte Consultas de exemplo.

O OpenSharing incorre em custos de saída?

O OpenSharing dentro de uma região não incorre em custos de saída. Ao contrário de outras plataformas de compartilhamento de dados, o OpenSharing não requer replicação de dados. Este modelo possui muitas vantagens, mas significa que o cloud vendor pode cobrar taxas de saída de dados quando há o compartilhamento de dados entre clouds ou regiões. Databricks oferece suporte a compartilhamento do Cloudflare R2, que não acarreta 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 OpenSharing (para Provedores).

Os destinatários têm acesso direto aos dados subjacentes em views compartilhadas, views materializadas e tabelas de transmissão em fluxo?

Para views compartilhadas, views materializadas e tabelas de transmissão, o destinatário dos dados tem acesso direto se uma das seguintes condições for verdadeira:

  • O destinatário usa compute serverless ou compute clássico não dedicado na mesma conta Databricks.
  • O destinatário usa compute serverless em outra account 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 compute processa a solicitação aplicando os filtros necessários e criando materialização temporária armazenada em cache no armazenamento do provedor. Estes dados filtrados são entregues a destinatários usando URLs pré-assinadas de curta duração, garantindo acesso seguro enquanto mantêm o controle de acesso do provedor para o destinatário.

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. Você pode negar o acesso do 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 do destinatário a um compartilhamento e Criar destinatários de dados para OpenSharing (compartilhamento Databricks-to-Databricks).

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

O OpenSharing utiliza URLs pré-assinados para permitir o acesso temporário a um arquivo no armazenamento de objetos. Eles são disponibilizados somente para os 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 para além do que já foi concedido aos destinatários.

Os tokens utilizados no protocolo de compartilhamento aberto OpenSharing Databricks-to-Open são seguros?

Como o OpenSharing permite o compartilhamento entre plataformas, ao contrário de outras plataformas de compartilhamento de dados disponíveis, o protocolo de compartilhamento 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á receberam. Consulte Considerações de segurança para tokens.

Se preferir não utilizar tokens para gerenciar o acesso a compartilhamentos de destinatários, deverá utilizar o compartilhamento Databricks-to-Databricks ou entrar em contato com a equipe de sua account Databricks para alternativas.

Qual é a diferença entre o LakeFlow Connect e o OpenSharing?

O OpenSharing possibilita o compartilhamento seguro de dados em tempo real entre plataformas, nuvens e regiões. O Databricks recomenda a ingestão usando conectores gerenciados porque eles se dimensionam para acomodar altos volumes de dados, consultas de baixa latência e limites de API de terceiros. No entanto, pode-se desejar consultar os dados sem movê-los.

Quando tiver uma escolha entre conectores gerenciados e OpenSharing, opte por OpenSharing para os seguintes cenários:

  • Limitando a duplicação de dados.
  • Consultando os dados mais recentes possíveis.

Limitações

Suporte a formato de tabela e recursos

Requisitos de formato:

  • Dados tabulares devem estar no formato de tabela Delta ou Iceberg gerenciado. Você pode converter facilmente tabelas Parquet para Delta — e vice-versa. See CONVERT TO DELTA.
  • OpenSharing somente pode ler tabelas UniForm como tabelas Delta.

Tabelas não suportadas:

Compartilhamento Databricks-to-Databricks apenas

Os seguintes ativos podem ser compartilhados apenas usando o fluxo de compartilhamento Databricks-to-Databricks:

view

transmissão

  • O OpenSharing não oferece suporte a alterar responseFormat enquanto uma fonte de transmissão estiver em execução ou durante reinicializações da transmissão.

Metadados do destinatário

  • As tabelas em information_schema de um catálogo compartilhado refletem os metadados armazenados no Unity Catalog. Esses metadados são atualizados do provedor somente quando você consulta a tabela compartilhada diretamente ou executa um comando como DESCRIBE ou REFRESH FOREIGN. Até então, information_schema pode parecer desatualizado em comparação com os dados do provedor.

Recurso e limites técnicos

  • 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.
  • Esquemas chamados information_schema não podem ser importados para o metastore do Unity Catalog, porque esse nome de esquema é reservado no Unity Catalog.

Consulte também matriz de suporte de recursos do Delta Lake.

As exclusões em cascata ignoram a proteção de compartilhamento

A exclusão de um objeto pai, como um catálogo ou esquema, aciona uma exclusão em cascata de seus objetos filhos, mesmo que esses objetos filhos estejam incluídos em compartilhamentos ativos. Após uma exclusão em cascata remover um ativo, não é possível adicionar novamente um ativo com o mesmo nome ao compartilhamento.

Para evitar esse problema, remova ativos de todos os compartilhamentos antes de excluir seus objetos pai.

Cotas de recursos

A Databricks aplica cotas de recursos em todos os objetos protegíveis do 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 account Databricks.

Você pode monitorar o uso da sua cota usando as APIs de cotas de recurso do Unity Catalog. Consulte Monitore o uso das suas cotas de recurso do Unity Catalog.

Recursos adicionais

Nesta página