Monitorar e gerenciar os custos de saída do Delta Sharing (para provedores)

Este artigo descreve as ferramentas que o senhor pode usar para monitorar e gerenciar os custos de saída do fornecedor cloud quando compartilha dados e IA ativo usando Delta Sharing.

Diferentemente de outras plataformas de compartilhamento de dados, o Delta Sharing não requer replicação de dados. Esse modelo tem muitas vantagens, mas significa que o fornecedor de cloud pode cobrar taxas de saída de dados quando o senhor compartilha dados em clouds ou regiões. Se o senhor usar Delta Sharing para compartilhar dados e IA ativo em uma região, não incorrerá em nenhum custo de saída.

Para monitorar e gerenciar as taxas de saída, a Databricks fornece:

Replicar dados para evitar custos de saída

Uma abordagem para evitar os custos de saída é o provedor criar e sincronizar réplicas locais de dados compartilhados nas regiões que os destinatários estão usando. Outra abordagem é que os destinatários clonem os dados compartilhados em regiões locais para consultas ativas, configurando sincronizações entre a tabela compartilhada e o clone local. Esta seção discute vários padrões de replicação.

Usar o Delta deep clone para replicação incremental

Os provedores podem usar DEEP CLONE para replicar tabelas Delta em locais externos nas regiões com as quais compartilham. Os clones profundos copiam os dados e os metadados da tabela de origem para o destino do clone. Os clones profundos também permitem atualizações incrementais, identificando novos dados na tabela de origem e atualizando o destino de acordo.

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

O senhor pode programar um trabalho Databricks para refresh dados da tabela de destino de forma incremental com atualizações recentes na tabela compartilhada, usando o seguinte comando:

CREATE OR REPLACE TABLE table_name DEEP CLONE source_table_name;

Consulte Clonar uma tabela em Databricks e programar e orquestrar fluxo de trabalho.

Habilitar o feed de dados de alteração (CDF) em tabelas compartilhadas para replicação incremental

Quando uma tabela é compartilhada com seu CDF, o destinatário pode acessar as alterações e merge elas em uma cópia local da tabela, onde os usuários realizam consultas. Nesse cenário, o acesso do destinatário aos dados não ultrapassa os limites da região, e a saída é limitada à atualização de uma cópia local. Se o destinatário estiver em Databricks, ele poderá usar um Job Databricks fluxo de trabalho para propagar as alterações para uma réplica local.

Para compartilhar uma tabela com o CDF, o senhor deve ativar o CDF na tabela e compartilhá-la WITH HISTORY.

Para obter mais informações sobre o uso do CDF, consulte Use Delta Lake change data feed on Databricks e Add tables to a share.

Usar réplicas do Cloudflare R2 ou migrar o armazenamento para o R2

O armazenamento de objetos R2 da Cloudflare não incorre em taxas de saída. A replicação ou migração dos dados que o senhor compartilha para o R2 permite compartilhar o uso de dados Delta Sharing sem incorrer em taxas de saída. Esta seção descreve como replicar dados para um local R2 e ativar atualizações incrementais das tabelas de origem.

Requisitos

  • Databricks workspace habilitado para Unity Catalog.

  • Databricks Runtime 14.3 ou acima, ou SQL warehouse 2024.15 ou acima.

  • Cloudflare account. Consulte https://dash.cloudflare.com/sign-up.

  • Função de administrador do Cloudflare R2. Consulte a documentação das funções do Cloudflare.

  • CREATE STORAGE CREDENTIAL privilégio no metastore Unity Catalog anexado ao workspace. Os administradores de conta e os administradores de metastore têm esse privilégio em default.

  • CREATE EXTERNAL LOCATION no metastore e na credencial de armazenamento referenciada no local externo. Os administradores de metastore têm esse privilégio em default.

  • CREATE MANAGED STORAGE no local externo.

  • CREATE CATALOG no metastore. Os administradores de metastore têm esse privilégio em default.

Montar um bucket R2 como um local externo no Databricks

  1. Crie um bucket R2 do Cloudflare.

    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.

    Veja Criar uma external location para conectar o armazenamento em cloud ao Databricks.

Criar um novo catálogo usando o local externo

Crie um catálogo que use o novo local externo como seu local de armazenamento gerenciar.

Consulte Criar catálogos.

Quando o senhor criar o catálogo, faça o seguinte:

  • Selecione um tipo de catálogo Standard.

  • Em Storage location (Local de armazenamento), selecione Select a storage location (Selecionar um local de armazenamento ) e insira o caminho para o bucket R2 que o senhor definiu como um local externo. Por exemplo, r2://mybucket@my-account-id.r2.cloudflarestorage.com

Use o caminho para o bucket R2 que o senhor definiu 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 deseja compartilhar em uma tabela no novo catálogo

Use DEEP CLONE para replicar tabelas em GCS para o novo catálogo que usa R2 para armazenamento gerencial. Os clones profundos copiam os dados e os metadados da tabela de origem para o destino do clone. Os clones profundos também permitem atualizações incrementais, identificando novos dados na tabela de origem e atualizando 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';

O senhor pode programar um Databricks Job para refresh dados da tabela de destino de forma incremental com atualizações recentes na tabela de origem, usando o seguinte comando:

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

Consulte Clonar uma tabela em Databricks e programar e orquestrar fluxo de trabalho.

Compartilhe a nova tabela

Quando o senhor criar o compartilhamento, adicione as tabelas que estão no novo catálogo, armazenadas no R2. O processo é o mesmo que adicionar qualquer tabela a um compartilhamento.

Consulte Criar e gerenciar compartilhamentos para Delta Sharing.