O que é o OpenSharing?

Esta página apresenta o OpenSharing no Azure Databricks, a plataforma de compartilhamento de dados segura que permite compartilhar dados e ativos de IA em Azure Databricks com usuários de fora da sua organização, independentemente de usarem Azure Databricks. O OpenSharing também é a base para o Databricks Marketplace, um fórum aberto para troca de produtos de dados e Salas Limpas, um ambiente seguro e de proteção de privacidade em que várias partes podem trabalhar juntas em dados corporativos confidenciais.

O OpenSharing também está disponível como um projeto de software livre que você pode usar para compartilhar tabelas Delta de outras plataformas.

Como funciona o OpenSharing?

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 usam.

Há algumas maneiras de compartilhar dados usando o OpenSharing:

  1. O protocolo de compartilhamento de Databricks para Databricks, que permite que você compartilhe dados e ativos de IA do seu workspace habilitado para o Catálogo do Unity com usuários que também tenham acesso a um workspace do Databricks habilitado para o Catálogo do Unity.

    Essa abordagem usa o servidor OpenSharing integrado a Azure Databricks. Ele dá suporte a alguns recursos do OpenSharing que não têm suporte nos outros protocolos, incluindo compartilhamento de notebook, compartilhamento de volume do Catálogo do Unity, compartilhamento de modelo de IA do Catálogo do Unity, governança de dados do Catálogo do Unity, auditoria e acompanhamento de uso para provedores e destinatários. A integração com o Catálogo do Unity 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?.

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

    Essa abordagem usa o servidor OpenSharing integrado ao Azure Databricks e é útil quando você gerencia dados usando o Catálogo do Unity 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 catálogo do Unity. A integração com o Catálogo do Unity no lado do provedor simplifica a configuração e a governança para provedores.

    Veja O que é o protocolo OpenSharing Databricks-to-Open Sharing?.

  3. Uma implementação gerenciada pelo cliente do servidor OpenSharing de código aberto, que permite compartilhar de qualquer plataforma para qualquer plataforma, seja no Databricks ou fora dele.

    A documentação do Azure Databricks não aborda instruções para configurar seu próprio servidor OpenSharing. Consulte o projeto de código aberto.

  4. O Conector do SAP Business Data Cloud (BDC) para Azure Databricks, que permite compartilhar dados entre um workspace habilitado para o Catálogo Unity e uma conta SAP BDC.

    Essa abordagem usa o Conector SAP BDC, que utiliza o OpenSharing para acesso dinâmico e de cópia zero a produtos de dados SAP BDC.

    Consulte O que é o Conector SAP BDC para Azure Databricks?.

Compartilhamentos, provedores e destinatários

Os principais conceitos subjacentes ao OpenSharing em Azure 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 o Catálogo do Unity, você também poderá incluir arquivos de notebook, exibições (incluindo exibições dinâmicas que restringem o acesso no nível da linha e da coluna), volumes do Catálogo do Unity e modelos do Catálogo do Unity em um compartilhamento.

Você pode adicionar ou remover tabelas, tabelas de streaming, tabelas de Iceberg gerenciadas, exibições, exibições materializadas, volumes, modelos e arquivos de bloco de anotações de um compartilhamento a qualquer momento e você pode atribuir ou revogar o acesso de destinatário de dados a um compartilhamento a qualquer momento.

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

Consulte Criar compartilhamentos para 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 interno do Databricks OpenSharing e gerenciar compartilhamentos e destinatários usando o Catálogo do Unity, precisará de pelo menos um workspace Azure Databricks habilitado para o Catálogo do Unity. Você não precisa migrar todos os workspaces existentes para o Catálogo do Unity. Você pode simplesmente criar um novo espaço de trabalho com o Unity Catalog habilitado para atender às suas necessidades de OpenSharing.

Se um destinatário estiver em um workspace do Databricks habilitado para Catálogo do Unity, o provedor também será um objeto protegível do Catálogo do Unity 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 compartilhamentos de um provedor. No Catálogo do Unity, um compartilhamento é um objeto protegível que representa uma organização e o 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 (compartilhamento), você pode definir vários destinatários para uma determinada metastore do Catálogo do Unity, mas se desejar compartilhar dados de vários metastores com um usuário ou grupo de usuários único, você deve 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 do metastore do Catálogo do Unity, esse destinatário perderá o acesso a todos os compartilhamentos que poderia acessar anteriormente.

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

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

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

Note

Esta seção pressupõe que o provedor esteja em um workspace do Azure Databricks habilitado para Unity Catalog. Para saber como configurar um servidor OpenSharing de código aberto para compartilhar 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 de código aberto.

A maneira como um provedor usa o OpenSharing no Azure Databricks depende de com quem eles estão compartilhando dados:

  • O compartilhamento aberto permite compartilhar dados com qualquer usuário, independentemente de ele ter ou não acesso ao Azure Databricks.
  • Databricks-to-Databricks sharing permite compartilhar dados com usuários do Azure Databricks cujo workspace está anexado a um metastore do Unity Catalog diferente do seu. O Databricks-to-Databricks também oferece suporte ao compartilhamento de notebooks, volumes e modelos, o que não está disponível no compartilhamento de Databricks para Open.

O que é o OpenSharing aberto?

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

  • Você gera um token do tipo bearer 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ê usa a federação OpenID Connect (OIDC), concedendo ao destinatário tokens OAuth de curta duração do Databricks em troca de tokens JWT que o provedor de identidade (IdP) do destinatário envia ao Databricks.

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

  • Azure Databricks
  • Apache Spark
  • Pandas
  • Power BI

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

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

O que é o Databricks-to-Databricks OpenSharing?

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

Uma vantagem do compartilhamento do Databricks para o 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.

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

Como os administradores de provedor configuram o OpenSharing?

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

O compartilhamento do Databricks para o Databricks entre metastores do Catálogo do Unity na mesma conta sempre está habilitado. Se você for um provedor que deseja habilitar o OpenSharing para compartilhar dados com workspaces do Databricks em outras contas ou clientes que não são do Databricks, um administrador de conta Azure Databricks ou administrador do metastore executará as seguintes etapas de instalação (em um alto nível):

  1. Habilite o OpenSharing para o metastore do Catálogo do Unity que gerencia os dados que você deseja compartilhar.

    Note

    Você não precisa habilitar o OpenSharing em seu metastore se pretende usar o OpenSharing para compartilhar dados somente com usuários em outros metastores do Catálogo do Unity em sua conta. O compartilhamento de metastore para metastore dentro de uma única conta do Azure Databricks está ativado por padrão.

    Consulte Habilitar o OpenSharing em um metastore.

  2. Crie um compartilhamento que inclua ativos de dados registrados no metastore do Catálogo do Unity.

    Se você estiver compartilhando com um destinatário não Databricks (conhecido como compartilhamento Databricks-to-Open), poderá incluir tabelas no formato Delta. Se você planeja usar o compartilhamento de Databricks para Databricks, também poderá adicionar exibições, volumes do Catálogo do Unity, modelos do Catálogo do Unity e arquivos de notebook a um compartilhamento.

    Consulte Criar compartilhamentos para OpenSharing.

  3. Criar 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 o Catálogo do Unity, você deverá usar o compartilhamento 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 workspace do Databricks habilitado para o Catálogo do Unity, você poderá usar compartilhamento de Databricks para Databricks e não será necessário usar credenciais baseadas em token. Você solicita um identificador de compartilhamento do destinatário e o usa para estabelecer a conexão segura.

    Dica

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

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

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

    Note

    Essa 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 a referência de privilégios do Catálogo do Unity.

  5. Envie para o destinatário as informações necessárias para acessar o compartilhamento (somente compartilhamento do Databricks para Open).

    Para o compartilhamento de Databricks para Open usando tokens de bearer, use um canal seguro para enviar ao destinatário um link de ativação que permita a ele baixar suas credenciais baseadas em tokens. Consulte Enviar ao destinatário suas informações de conexão.

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

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

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 no formato somente leitura. Os arquivos de notebook compartilhados são somente 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 conta do Databricks, as atualizações aparecem quase em tempo real no sistema do destinatário. Para saber como acessar dados compartilhados com você usando o OpenSharing, consulte Acessar dados compartilhados com você usando o OpenSharing (para destinatários).

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

Os provedores de dados nos workspaces do Azure Databricks habilitados para o Unity Catalog podem usar o log de auditoria do Azure Databricks e as tabelas do sistema para monitorar a criação e a modificação de compartilhamentos e destinatários, além de observar a atividade dos destinatários nesses compartilhamentos. Veja 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 as tabelas do sistema para entender quem está acessando quais dados. Veja Auditar e monitorar o compartilhamento de dados.

Compartilhamento de volumes

Você pode compartilhar volumes usando o fluxo de compartilhamento Databricks para Databricks. Consulte Adicionar volumes a um compartilhamento (para provedores) e ler dados compartilhados usando o Databricks-to-Databricks OpenSharing (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 usando o Databricks-to-Databricks OpenSharing (para destinatários) (para destinatários).

Compartilhar notebooks

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

Restringindo o acesso no nível de linha e coluna ao compartilhar exibições

Você pode compartilhar exibições dinâmicas que restringem o acesso a determinados dados de tabela com base nas propriedades do destinatário. Consulte Adicionar exibições dinâmicas a um compartilhamento para filtrar linhas e colunas.

OpenSharing e streaming

O OpenSharing dá suporte ao Streaming Estruturado do Apache Spark. Um provedor pode compartilhar uma tabela com 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 executar consultas de viagem no tempo do Delta Lake em tabelas compartilhadas com o histórico.

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

Para saber como compartilhar tabelas de streaming, consulte Adicionar tabelas de streaming a um compartilhamento.

Veja também os conceitos de Streaming Estruturado.

Matriz de suporte a recursos do Delta Lake

O OpenSharing dá suporte à maioria dos recursos do Delta Lake quando você compartilha uma tabela. Esta matriz de suporte lista:

  • Funcionalidades do Delta que exigem versões específicas do Databricks Runtime, do conector Spark OpenSharing de código aberto ou do conector Python OpenSharing de código aberto.
  • Recursos com suporte parcial.
Característica Fornecedor Destinatário do Databricks Destinatário de software livre
Vetores de deleção
  • O compartilhamento de tabelas com esse recurso está na Visualização Pública.
  • As tabelas devem ser compartilhadas com o histórico.
  • Databricks Runtime 14.1+ para consultas em lote
  • Databricks Runtime 14.2+ para CDF e consultas de streaming
  • Conector do OpenSharing Spark 3.1+
  • Conector de Python do OpenSharing 1.1.0+
  • Power BI v2.132.908.0+
Mapeamento de colunas
  • O compartilhamento de tabelas com esse recurso está na Visualização Pública.
  • As tabelas devem ser compartilhadas com o histórico.
  • Databricks Runtime 14.1+ para consultas em lote
  • Databricks Runtime 14.2+ para CDF e consultas de streaming
  • Conector do OpenSharing Spark 3.1+
  • Compatível com limitações no conector Python do OpenSharing
  • Power BI v2.132.908.0+
Formato uniforme
  • O compartilhamento de tabelas com esse recurso está na Visualização Pública.
  • As tabelas devem ser compartilhadas com o histórico.
  • Databricks Runtime 14.1+ para consultas em lote
  • Databricks Runtime 14.2+ para CDF e consultas de streaming
  • Conector do OpenSharing Spark 3.1+
  • Conector de Python do OpenSharing 1.1.0+
  • Power BI v2.132.908.0+
ponto de verificação V2 Suportado com limitações Suportado com limitações Suportado com limitações
TimestampNTZ Suportado Databricks Runtime 14.1+ Conector do OpenSharing Spark 3.3+
Agrupamento de líquidos Suportado com limitações Suportado com limitações Suportado com limitações

Perguntas frequentes sobre o OpenSharing

As perguntas a seguir são frequentes sobre o OpenSharing.

Preciso do Unity Catalog para usar o OpenSharing?

Não, você não precisa do Catálogo do Unity para compartilhar (como provedor) ou consumir dados compartilhados (como destinatário). No entanto, o Catálogo do Unity oferece benefícios como suporte ao compartilhamento de ativos não tabulares e de IA, 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 Catálogo do Unity e compartilhe-os usando o servidor Azure Databricks OpenSharing interno.

    Você não precisa migrar todos os ativos para o Catálogo do Unity. Você precisa de apenas um espaço de trabalho do Azure Databricks habilitado para o Unity Catalog para gerenciar ativos que você deseja compartilhar. Em algumas contas, novos espaços de trabalho são habilitados automaticamente para o Unity Catalog. Consulte Introdução ao Catálogo do Unity.

  • Implemente o servidor de compartilhamento Databricks-to-Open para compartilhar dados, sem necessariamente usar sua conta Azure Databricks.

Os destinatários podem consumir dados de duas maneiras:

  • Sem workspace do Databricks. Use conectores OpenSharing de código aberto disponíveis para muitas plataformas de dados, incluindo Power BI, pandas e o Apache Spark de código aberto. Consulte Ler dados compartilhados usando o compartilhamento OpenSharing Databricks-to-Open com tokens de portador e o projeto código aberto OpenSharing.

  • Em um espaço de trabalho do Databricks. Os espaços de trabalho dos destinatários não precisam estar habilitados para o Catálogo do Unity, mas há vantagens de governança, simplicidade e desempenho se estiverem.

    As organizações de destinatários que desejam essas vantagens não precisam migrar todos os ativos para o Catálogo do Unity. Você precisa apenas de um workspace do Azure Databricks habilitado para o Unity Catalog para gerenciar ativos que são compartilhados com você. Em algumas contas, novos espaços de trabalho são habilitados automaticamente para o Unity Catalog. Consulte Introdução ao Catálogo do Unity.

Consulte Ler dados compartilhados usando o compartilhamento OpenSharing Databricks-to-Open com tokens de portador e ler dados compartilhados usando o Databricks-to-Databricks OpenSharing (para destinatários).

Preciso ser um cliente do 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 provedores podem configurar um servidor OpenSharing aberto para compartilhar de qualquer plataforma de computação. Os destinatários podem consumir dados compartilhados usando conectores código aberto OpenSharing para muitos produtos de dados, incluindo Power BI, pandas e código aberto Spark.

No entanto, usar o OpenSharing no Azure Databricks, especialmente compartilhar a partir de um workspace habilitado para o Unity Catalog, tem muitas vantagens.

Para obter detalhes, consulte a primeira pergunta nessas perguntas frequentes.

Como gerar e consultar os custos do OpenSharing?

O custo do OpenSharing é incorrido ao compartilhar e acessar visualizações, visualizações materializadas e tabelas de streaming. Estas são as possíveis fontes de custo para o compartilhamento:

  • Custo de computação, cobrado por Azure Databricks.
  • Custo de armazenamento e transferência de rede (saída), cobrado pelo fornecedor de armazenamento ou por Azure Databricks se o provedor usa SecureConnect.
  • Custo da fonte de computação estrangeira ao compartilhar esquemas e tabelas estrangeiras.

O método pelo qual a computação é executada e quem paga por ela depende de vários fatores:

  • O tipo de computação do destinatário
  • Se o compartilhamento ocorre na mesma conta do Azure Databricks ou entre contas

A tabela a seguir descreve o método de cobrança para compartilhar e acessar exibições usando o OpenSharing:

Computação do destinatário Relação de conta Quem paga SKU usado para cobrança Método de acesso
Databricks Serverless Any Recipient* Sem servidor do destinatário Destinatário recebe acesso direto a dados subjacentes
Databricks Clássico Mesma conta Recipient* Clássico do destinatário Destinatário recebe acesso direto a dados subjacentes
Databricks Clássico Conta diferente Recipient Computação sem servidor interativa do provedor O provedor executa a filtragem
Conectores de compartilhamento entre Databricks e Open Any Fornecedor Computação sem servidor interativa do provedor O provedor executa a filtragem

* Quando você usa o OpenSharing 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á nenhum encargo incremental. Isso significa que não há custo adicional para materializar o ativo de dados.

Ao compartilhar tabelas estrangeiras (Beta), a materialização é sempre executada e armazenada no lado do provedor. Para tabelas de Iceberg estrangeiras, a materialização é executada no lado do provedor ao compartilhar com um destinatário aberto que não usa 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 há custos de computação para tabelas estrangeiras durante Beta.

A atribuição de cobrança 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 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 incorre em custos de saída?

O OpenSharing em uma região não gera nenhum custo de saída. Ao contrário de outras plataformas de compartilhamento de dados, o OpenSharing não requer replicação de dados. Esse modelo tem muitas vantagens, mas significa que seu fornecedor de nuvem pode cobrar valor de saída de dados quando você compartilha dados entre nuvens ou regiões. O Azure Databricks dá suporte ao compartilhamento do Cloudflare R2, que não incorre em taxas de saída, e fornece outras ferramentas e recomendações para monitorar e evitar essas taxas. Consulte Monitorar e gerenciar os custos de saída do OpenSharing (para provedores).

No entanto, se o provedor usar SecureConnect, a transferência de dados será cobrada por Azure Databricks em vez do fornecedor de nuvem.

Os destinatários têm acesso direto aos dados subjacentes em exibições compartilhadas, exibições materializadas e tabelas de streaming?

Para exibições compartilhadas, exibições materializadas e tabelas de streaming, o destinatário de dados terá acesso direto se um destes itens for verdadeiro:

  • 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 de Azure Databricks diferente.

Caso contrário, os dados são materializados e filtrados no lado do provedor.

A materialização de dados é armazenada no local de armazenamento pai do ativo de dados compartilhado.

Ao compartilhar ativos materializados, a computação processa a solicitação aplicando os filtros necessários e criando a 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, mantendo o controle de acesso de provedor para destinatário.

Os provedores podem revogar o acesso ao destinatário?

Sim, o acesso ao destinatário pode ser revogado sob demanda e em níveis especificados 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 inteiramente. Consulte Revogar o acesso do destinatário a um compartilhamento e Criar destinatários de dados no OpenSharing (compartilhamento Databricks-to-Databricks).

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

O OpenSharing usa URLs pré-assinadas para fornecer acesso temporário a um arquivo no armazenamento de objetos. Elas são fornecidas somente aos 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.

Os tokens usados no protocolo de compartilhamento 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 já lhes foi concedido. Consulte as considerações de segurança para tokens.

Se preferir não usar tokens para gerenciar o acesso aos compartilhamentos dos destinatários, use o compartilhamento de Databricks para Databricks ou entre em contato com a equipe de contas do Databricks para obter alternativas.

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

O OpenSharing permite que você compartilhe dados dinâmicos 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, talvez você queira consultar seus dados sem migrá-los.

Quando você tiver uma opção entre conectores gerenciados e OpenSharing, escolha OpenSharing para os seguintes cenários:

  • Limitar a duplicação de dados.
  • Consultar os dados mais recentes possíveis.

Limitações

Formato de tabela e suporte a funcionalidades

Requisitos de formato:

  • Os dados tabulares devem estar no formato Delta ou Iceberg gerenciado. Você pode converter tabelas Parquet em Delta e vice-versa com facilidade e retornar. Consulte CONVERT TO DELTA.
  • O OpenSharing só pode ler tabelas UniForm como tabelas Delta.

Tabelas sem suporte:

Somente compartilhamento de Databricks para Databricks

Os seguintes ativos só podem ser compartilhados por meio do fluxo de compartilhamento Databricks para Databricks.

Views

Streaming

  • O OpenSharing não dá suporte à alteração responseFormat enquanto uma fonte de streaming está em execução ou durante as reinicializações de streaming.

Metadados do destinatário

  • As tabelas de information_schema um catálogo compartilhado refletem metadados armazenados no Catálogo do Unity. 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é lá, information_schema pode parecer obsoleto em comparação com os dados do provedor.

Limites técnicos e de recursos

  • Há limites no número de arquivos em metadados permitidos para uma tabela compartilhada. Para saber mais, confira Erros excedidos no limite de recursos.
  • Os esquemas denominados information_schema não podem ser importados para um metastore do Catálogo do Unity, pois esse nome de esquema está reservado no Catálogo do Unity.

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

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

Excluir um objeto pai, como um catálogo ou esquema, causa uma exclusão em cascata de seus objetos filho, mesmo que esses objetos filho sejam incluídos em compartilhamentos ativos. Depois que uma exclusão em cascata remove um ativo, você não pode adicionar novamente um ativo com o mesmo nome ao compartilhamento.

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

Cotas de recursos

Azure Databricks impõe cotas de recursos em todos os objetos protegíveis do OpenSharing. Essas cotas sã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 Catálogo do Unity. Consulte Monitorar o uso de cotas de recursos do Catálogo do Unity.

Recursos adicionais