Partilhar via


Monitore e gerencie os custos de saída do Delta Sharing (por providers)

Este artigo descreve as ferramentas que você pode usar para monitorar e gerenciar os custos de saída do fornecedor de nuvem ao compartilhar dados e ativos de IA usando o Delta Sharing.

Ao contrário de outras plataformas de partilha de dados, o Delta Sharing não requer replicação de dados. Este modelo tem muitas vantagens, mas significa que o fornecedor da cloud pode cobrar taxas de saída de dados quando partilha dados entre clouds ou regiões. Se você usar o Delta Sharing para compartilhar dados e ativos de IA dentro de uma região, não incorrerá em nenhum custo de saída.

Para monitorar e gerenciar as cobranças de saída, o Databricks fornece:

Replicar dados para evitar custos de saída

Uma abordagem para evitar custos de saída é que o provedor crie e sync réplicas locais de dados compartilhados em regiões que seus recipients estão usando. Outra abordagem é para recipients clonar os dados compartilhados para regiões locais para consulta ativa, configurando sincronizações entre o table compartilhado e o clone local. Esta seção discute vários padrões de replicação.

Usar clone profundo Delta para replicação incremental

Providers pode usar DEEP CLONE para replicar tables Delta para locais externos nas regiões que partilham. Os clones profundos copiam os dados e metadados da origem table para o alvo do clone. Os clones profundos também permitem atualizações incrementais ao identificar novos dados na fonte table e atualizando o destino de forma correspondente.

CREATE TABLE [IF NOT EXISTS] table_name DEEP CLONE source_table_name
   [TBLPROPERTIES clause] [LOCATION path];

Você pode agendar um trabalho do Databricks para direcionar dados table ao alvo refresh de forma incremental, com atualizações recentes no tablecompartilhado, usando o seguinte comando:

CREATE OR REPLACE TABLE table_name DEEP CLONE source_table_name;

Veja Clonar um table no Azure Databricks e agendar e orquestrar fluxos de trabalho.

Ative o feed de dados de alteração (CDF) em tables compartilhada para replicação incremental

Quando um table é compartilhado com seu CDF, o destinatário pode acessar as alterações e mesclá-las em uma cópia local do table, e onde os where utilizadores realizam consultas. Nesse cenário, o acesso do destinatário aos dados não cruza os limites da região e a saída é limitada à atualização de uma cópia local. Se o destinatário estiver no Databricks, ele poderá usar um trabalho de fluxo de trabalho do Databricks para propagar alterações em uma réplica local.

Para compartilhar um table com o CDF, você deve habilitar o CDF no table e compartilhá-lo WITH HISTORY.

Para obter mais informações sobre como usar o CDF, consulte Usar o feed de dados de alteração do Delta Lake no Azure Databricks e Adicionar tables a uma partilha.

Use réplicas do Cloudflare R2 ou migre o armazenamento para o R2

O armazenamento de objetos do Cloudflare R2 não incorre em taxas de saída. Replicar ou migrar dados que você compartilha para o R2 permite que você compartilhe dados usando o Delta Sharing sem incorrer em taxas de saída. Esta seção descreve como replicar dados para uma localização R2 e habilitar atualizações incrementais a partir da origem tables.

Requisitos

  • Espaço de trabalho Databricks ativado para Unity Catalog.
  • Databricks Runtime 14.3 ou superior ou SQL warehouse 2024.15 ou superior.
  • Conta Cloudflare. Consulte https://dash.cloudflare.com/sign-up.
  • Função de administrador do Cloudflare R2. Consulte a documentação de funções da Cloudflare.
  • O privilégio CREATE STORAGE CREDENTIAL no metastore do Unity anexado ao espaço de trabalho Catalog. Os administradores de conta e os administradores de metastore têm esse privilégio por padrão.
  • CREATE EXTERNAL LOCATION privilégio no metastore e na credencial de armazenamento referenciada no local externo. Os administradores da Metastore têm esse privilégio por padrão.
  • CREATE MANAGED STORAGE privilégio no local externo.
  • CREATE CATALOG no metastore. Os administradores da Metastore têm esse privilégio por padrão.

Limitações do Cloudflare R2

Providers não pode partilhar R2 tables que usa agrupamento líquido e checkpoint V2.

Monte um bucket R2 como um local externo no Azure Databricks

  1. Crie um bucket do Cloudflare R2.

    Consulte Configurar um bucket R2.

  2. Crie uma credencial de armazenamento no Unity Catalog que dê acesso ao bucket R2.

    Consulte Criar a credencial de armazenamento.

  3. Use a credencial de armazenamento para criar um local externo no Unity Catalog.

    Consulte Criar um local externo para conectar o armazenamento em nuvem ao Azure Databricks.

Criar um novo catalog usando o local externo

Crie um catalog que use o novo local externo como seu local de armazenamento gerenciado.

Consulte Criar catalogs.

Ao criar o catalog, faça o seguinte:

Catalog Explorador

  • Select a padrão do tipocatalog.
  • Em Local de armazenamento, selectSelect um local de armazenamento e insira o caminho para o bucket R2 que definiu como local externo. Por exemplo, r2://mybucket@my-account-id.r2.cloudflarestorage.com

SQL

Use o caminho para o bucket R2 definido como um local externo. Por exemplo:

  CREATE CATALOG IF NOT EXISTS my-r2-catalog
    MANAGED LOCATION 'r2://mybucket@my-account-id.r2.cloudflarestorage.com'
    COMMENT 'Location for managed tables and volumes to share using Delta Sharing';

Clone os dados que você deseja compartilhar para um table no novo catalog

Use DEEP CLONE para replicar tables no Azure Data Lake Storage Gen2 para o novo catalog que usa R2 para armazenamento gerenciado. Os clones profundos copiam os dados e metadados da origem table para o destino do clone. Os clones profundos também permitem atualizações incrementais ao identificar os novos dados na fonte table e ao atualizar o destino de acordo.

CREATE TABLE IF NOT EXISTS new_catalog.schema1.new_table DEEP CLONE old_catalog.schema1.source_table
  LOCATION 'r2://mybucket@my-account-id.r2.cloudflarestorage.com';

Você pode agendar um trabalho do Databricks para o destino refreshtable dos dados de forma incremental, fazendo atualizações recentes no tablede origem, usando o seguinte comando:

CREATE OR REPLACE TABLE new_catalog.schema1.new_table DEEP CLONE old_catalog.schema1.source_table;

Veja clonar um table no Azure Databricks e agendar e orquestrar fluxos de trabalho.

Partilhar o novo table

Ao criar o compartilhamento, adicione os tables que estão no novo catalog, armazenados no R2. O processo é o mesmo que adicionar qualquer table a um compartilhamento.

Consulte Criar e gerenciar shares para o Delta Sharing.