Monitore e gerencie custos de saída do Delta Sharing (para provedores)
Esse artigo descreve ferramentas que você pode usar para monitorar e gerenciar custos de saída de fornecedores de nuvem ao compartilhar dados e ativos de IA usando o Delta Sharing.
Ao contrário 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 seu fornecedor de nuvem pode cobrar valor de saída de dados quando você compartilha dados entre nuvens ou regiões. Se você usar o Delta Sharing para compartilhar dados e ativos de IA em uma região, não haverá custos de saída.
Para monitorar e gerenciar cobranças de saída, o Databricks fornece:
- Instruções para replicar dados entre regiões para evitar taxas de saída.
- Suporte para armazenamento Cloudflare R2 para evitar taxas de saída.
Replique dados para evitar custos de saída
Uma abordagem para evitar custos de saída é o provedor criar e sincronizar réplicas locais de dados compartilhados nas regiões que seus destinatários estão usando. Outra abordagem é os destinatários clonarem os dados compartilhados em regiões locais para consulta ativa, configurando sincronizações entre a tabela compartilhada e o clone local. Essa seção discute vários padrões de replicação.
Use o clone profundo Delta para replicação incremental
Os provedores podem usar DEEP CLONE
para replicar tabelas Delta para locais externos nas regiões com as quais compartilham. Os clones profundos copiam os dados e 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 adequadamente.
CREATE TABLE [IF NOT EXISTS] table_name DEEP CLONE source_table_name
[TBLPROPERTIES clause] [LOCATION path];
Você pode agendar um trabalho do Databricks para atualizar incrementalmente os dados da tabela de destino com as atualizações recentes na tabela compartilhada, usando o seguinte comando:
CREATE OR REPLACE TABLE table_name DEEP CLONE source_table_name;
Confira Como clonar uma tabela no Azure Databricks e Como agendar e orquestrar fluxos de trabalho.
Habilitar feed de dados alterados (CDF) em tabelas compartilhadas para replicação incremental
Quando uma tabela é compartilhada com seu CDF, o destinatário pode acessar as alterações e mesclá-las 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 no Databricks, ele poderá usar um trabalho de fluxo de trabalho do Databricks para propagar alterações para uma réplica local.
Para compartilhar uma tabela com CDF, você deve habilitar o CDF na tabela e compartilhá-lo WITH HISTORY
.
Para obter mais informações sobre o uso do CDF, veja Usar feed de dados de alteração do Delta Lake no Azure Databricks e Adicionar tabelas a um compartilhamento.
Use réplicas Cloudflare R2 ou migre o armazenamento para R2
O armazenamento de objetos Cloudflare R2 não incorre em valor de saída. A replicação ou migração de dados compartilhados para R2 permite compartilhar dados usando o Delta Sharing sem incorrer em valor de saída. Essa seção descreve como replicar dados para um local R2 e habilitar atualizações incrementais de tabelas de origem.
Requisitos
- Workspace do Databricks habilitado para Catálogo do Unity.
- 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. Veja a documentação de funções do Cloudflare.
- Privilégio
CREATE STORAGE CREDENTIAL
no metastore do Catálogo do Unity anexado ao workspace. Os administradores de conta e 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 do metastore têm esse privilégio por padrão.CREATE MANAGED STORAGE
privilégio na localização externa.CREATE CATALOG
no metastore. Os administradores do metastore têm esse privilégio por padrão.
Monte um bucket R2 como local externo no Azure Databricks
Crie um bucket Cloudflare R2.
Veja Configurar um bucket R2.
Crie uma credencial de armazenamento no Unity Catalog que dê acesso ao bucket R2.
Use a credencial de armazenamento para criar um local externo no Unity Catalog.
Veja Crie um local externo para conectar o armazenamento em nuvem ao Azure Databricks.
Crie um novo catálogo usando o local externo
Crie um catálogo que use o novo local externo como local de armazenamento gerenciado.
Consulte Criar catálogos.
Ao criar o catálogo, faça o seguinte:
Explorador do Catálogo
- Selecione um tipo de catálogo Padrão.
- Em Local de armazenamento, selecione Selecionar um local de armazenamento e insira o caminho para o bucket R2 que você definiu como local externo. Por exemplo,
r2://mybucket@my-account-id.r2.cloudflarestorage.com
SQL
Use o caminho para o bucket R2 definido como 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 em uma tabela no novo catálogo
Use DEEP CLONE
para replicar tabelas no Azure Data Lake Storage Gen2 para o novo catálogo que usa R2 para armazenamento gerenciado. Os clones profundos copiam os dados e 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 adequadamente.
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 atualizar incrementalmente os dados da tabela de destino com as 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;
Confira Como clonar uma tabela no Azure Databricks e Como agendar e orquestrar fluxos de trabalho.
Compartilhe a nova tabela
Ao criar o compartilhamento, adicione as tabelas que estão no novo catálogo, armazenado em R2. O processo é o mesmo que adicionar qualquer tabela a um compartilhamento.
Confira Criar e gerenciar compartilhamentos para o Compartilhamento Delta.