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:
- 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.
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
Crie um bucket do Cloudflare R2.
Consulte Configurar um bucket R2.
Crie uma credencial de armazenamento no Unity Catalog que dê acesso ao bucket R2.
Consulte Criar a credencial de armazenamento.
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.