Condividi tramite


Monitorare e gestire i costi di uscita della Condivisione Delta (per i fornitori)

Questo articolo descrive gli strumenti che è possibile usare per monitorare e gestire i costi di egress dei fornitori di servizi cloud quando si condividono i dati e gli asset di intelligenza artificiale usando Delta Sharing.

A differenza di altre piattaforme di condivisione dati, Delta Sharing non richiede la replica dei dati. Questo modello presenta molti vantaggi, ma significa che il fornitore del cloud può addebitare costi di uscita ai dati quando si condividono i dati tra cloud o aree. Se si usa la condivisione Delta per condividere i dati e gli asset di intelligenza artificiale all'interno di un'area, non si incorre in alcun costo in uscita.

Per monitorare e gestire gli addebiti in uscita, Databricks fornisce:

Replicare i dati per evitare costi di uscita

Un approccio per evitare i costi in uscita consiste nel consentire al provider di creare e sincronizzare repliche locali di dati condivisi nelle aree in cui utilizzano i destinatari. Un altro approccio consiste nel consentire ai destinatari di clonare i dati condivisi nelle aree locali per l'esecuzione di query attive, configurando le sincronizzazioni tra la tabella condivisa e il clone locale. In questa sezione vengono illustrati diversi modelli di replica.

Usare il clone avanzato Delta per la replica incrementale

I fornitori possono utilizzare DEEP CLONE per replicare le tabelle Delta verso posizioni esterne nelle regioni con cui condividono. I cloni profondi copiano i dati e i metadati della tabella di origine nella destinazione del clone. I cloni profondi consentono anche aggiornamenti incrementali identificando i nuovi dati nella tabella di origine e aggiornando di conseguenza la destinazione.

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

È possibile pianificare un processo di Databricks per aggiornare i dati della tabella di destinazione in modo incrementale con gli aggiornamenti recenti nella tabella condivisa, usando il comando seguente:

CREATE OR REPLACE TABLE table_name DEEP CLONE source_table_name;

Consulta Clonare una tabella in Azure Databricks e Panoramica dell'orchestrazione in Databricks.

Abilitare il flusso di dati delle modifiche (CDF) nelle tabelle condivise per la replica incrementale

Quando una tabella viene condivisa con il relativo CDF, il destinatario può accedere alle modifiche e unirle in una copia locale della tabella, in cui gli utenti eseguono query. In questo scenario, l'accesso dei destinatari ai dati non supera i limiti dell'area e l'uscita è limitata all'aggiornamento di una copia locale. Se il destinatario si trova in Databricks, può usare un job del flusso di lavoro di Databricks per propagare le modifiche a una replica locale.

Per condividere una tabella con CDF, è necessario abilitare CDF nella tabella e condividerla WITH HISTORY.

Per altre informazioni sull'uso di CDF, vedere Utilizzare il feed di dati delle modifiche Delta Lake in Azure Databricks e Aggiungere tabelle a una condivisione.

Utilizzare repliche Cloudflare R2 o eseguire la migrazione dell'archiviazione a R2

L'archiviazione di oggetti R2 di Cloudflare non comporta costi in uscita. La replica o la migrazione dei dati condivisi in R2 consente di condividere i dati usando Delta Sharing senza incorrere in costi di uscita. Tuttavia, ciò non si applica alla condivisione di visualizzazioni, che potrebbe comunque comportare costi in uscita. Questa sezione illustra come replicare i dati verso una destinazione R2 e come abilitare gli aggiornamenti incrementali dalle tabelle di origine.

Requisiti

  • Area di lavoro di Databricks abilitata per Unity Catalog.
  • Databricks Runtime 14.3 o versione successiva, oppure SQL Warehouse 2024.15 o versione successiva.
  • Account Cloudflare. Vedere https://dash.cloudflare.com/sign-up.
  • Ruolo di amministratore di Cloudflare R2. Consulta la documentazione dei ruoli Cloudflare.
  • CREATE STORAGE CREDENTIAL privilegio sul metastore di Unity Catalog associato all'area di lavoro. Gli amministratori dell'account e gli amministratori del metastore hanno questo privilegio per impostazione predefinita.
  • Privilegio CREATE EXTERNAL LOCATION sia per il metastore che per le credenziali di archiviazione a cui si fa riferimento nel percorso esterno. Gli amministratori di Metastore dispongono di questo privilegio per impostazione predefinita.
  • Privilegio CREATE MANAGED STORAGE sulla posizione esterna.
  • CREATE CATALOG nel metastore. Gli amministratori di Metastore dispongono di questo privilegio per impostazione predefinita.

Limitazioni per Cloudflare R2

I provider non possono condividere tabelle R2 che usano il raggruppamento liquido e il checkpoint V2.

Montare un bucket R2 come posizione esterna in Azure Databricks

  1. Creare un bucket Cloudflare R2.

    Vedere Configurare un bucket R2.

  2. Creare una credenziale di archiviazione nel catalogo unity che consente l'accesso al bucket R2.

    Vedere Creare la credenziale di archiviazione.

  3. Usare le credenziali di archiviazione per creare una posizione esterna nel Catalogo Unity.

    Si veda Creare una posizione esterna per connettere la memorizzazione cloud ad Azure Databricks.

Creare un nuovo catalogo usando il percorso esterno

Creare un catalogo che usa la nuova posizione esterna come luogo di archiviazione gestito.

Vedi Creare cataloghi.

Quando si crea il catalogo, eseguire le operazioni seguenti:

Esploratore di cataloghi

  • Selezionare un tipo di catalogo Standard.
  • In posizione di archiviazioneselezionare Selezionare una posizione di archiviazione e inserire il percorso del bucket R2 definito come posizione esterna. Ad esempio, r2://mybucket@my-account-id.r2.cloudflarestorage.com

SQL

Usare il percorso del bucket R2 che hai definito come posizione esterna. Ad esempio:

  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';

Clonare i dati da condividere in una tabella nel nuovo catalogo

Usare DEEP CLONE per replicare le tabelle in Azure Data Lake Storage Gen2 nel nuovo catalogo che usa R2 per l'archiviazione gestita. I cloni profondi copiano dati e metadati della tabella di origine nella destinazione del clone. I cloni profondi consentono anche aggiornamenti incrementali identificando i nuovi dati nella tabella di origine e aggiornando di conseguenza la destinazione.

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';

È possibile pianificare un processo di Databricks per aggiornare i dati della tabella di destinazione in modo incrementale con gli aggiornamenti recenti nella tabella di origine, usando il comando seguente:

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

Vedere Clonare una tabella in Azure Databricks e Panoramica dell'orchestrazione in Databricks.

Condividere la nuova tabella

Quando si crea la condivisione, aggiungere le tabelle presenti nel nuovo catalogo archiviate in R2. Il processo è lo stesso di aggiungere qualsiasi tabella a una condivisione.

Vedi Creare e gestire condivisioni per Delta Sharing.