Condividi tramite


Monitorare e gestire i costi di uscita della condivisione delta (per i provider)

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

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 comporta alcun costo in uscita.

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

Replicare i dati per evitare costi in 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 provider possono usare DEEP CLONE per replicare le tabelle Delta in posizioni esterne tra le aree in cui condividono. I cloni profondi copiano i dati e i metadati della tabella di origine nella destinazione 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 dei flussi di lavoro 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;

Vedere Clonare una tabella in Azure Databricks e Introduzione ai flussi di lavoro di Azure Databricks.

Abilitare il feed 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 processo 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 Usare il feed di dati delle modifiche Delta Lake in Azure Databricks e Aggiungere tabelle a una condivisione.

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

Importante

Questa funzionalità è disponibile in anteprima pubblica.

L'archiviazione di oggetti R2 cloudflare non comporta costi in uscita. La replica o la migrazione dei dati condivisi in R2 consente di condividere i dati usando la condivisione differenziale senza incorrere in costi in uscita. Questa sezione descrive come replicare i dati in un percorso R2 e 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 o SQL Warehouse 2024.15 o versione successiva.
  • Account Cloudflare. Vedere https://dash.cloudflare.com/sign-up.
  • Ruolo di amministratore di Cloudflare R2. Vedere la documentazione dei ruoli cloudflare.
  • CREATE STORAGE CREDENTIAL privilegio nel metastore del catalogo Unity collegato all'area di lavoro. Gli amministratori dell'account e gli amministratori del metastore hanno questo privilegio per impostazione predefinita.
  • CREATE EXTERNAL LOCATION privilegio sia per il metastore che per le credenziali di archiviazione a cui si fa riferimento nel percorso esterno. Per impostazione predefinita, gli amministratori metastore hanno questo privilegio.
  • CREATE MANAGED STORAGE privilegio nella posizione esterna.
  • CREATE CATALOG nel metastore. Per impostazione predefinita, gli amministratori metastore hanno questo privilegio.

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 le credenziali di archiviazione.

  3. Usare le credenziali di archiviazione per creare una posizione esterna nel catalogo unity.

    Vedere Creare una posizione esterna per connettere l'archiviazione cloud ad Azure Databricks.

Creare un nuovo catalogo usando il percorso esterno

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

Vedere Creare cataloghi.

Quando si crea il catalogo, eseguire le operazioni seguenti:

Esplora cataloghi

  • Selezionare un tipo di catalogo Standard .
  • In Posizione di archiviazione selezionare Selezionare un percorso di archiviazione e immettere 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 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 i dati e i metadati della tabella di origine nella destinazione 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 dei flussi di lavoro 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 Introduzione ai flussi di lavoro di Azure Databricks.

Condividere la nuova tabella

Quando si crea la condivisione, aggiungere le tabelle presenti nel nuovo catalogo archiviate in R2. Il processo equivale all'aggiunta di qualsiasi tabella a una condivisione.

Vedere Creare e gestire condivisioni per la condivisione Delta.