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 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 incorre in alcun costo in uscita.
Per monitorare e gestire gli addebiti in uscita, Databricks fornisce:
- Istruzioni per la replica dei dati tra aree per evitare tariffe in uscita.
- Supporto per l'archiviazione Cloudflare R2 per evitare tariffe in uscita.
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 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 nel target 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;
Vedere 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 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 Utilizzare 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
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 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 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. - Privilegio
CREATE EXTERNAL LOCATION
sia per il metastore che per le credenziali di archiviazione a cui si fa riferimento nel percorso esterno. Gli amministratori dispongono di questo privilegio per impostazione predefinita. - Privilegio
CREATE MANAGED STORAGE
nella posizione esterna. -
CREATE CATALOG
nel metastore. Gli amministratori dispongono di questo privilegio per impostazione predefinita.
Limitazioni per Cloudflare R2
Gli provider non possono condividere tabelle R2 che usano clustering liquido e checkpoint V2.
Montare un bucket R2 come posizione esterna in Azure Databricks
Creare un bucket Cloudflare R2.
Vedere Configurare un bucket R2.
Creare una credenziale di archiviazione nel catalogo unity che consente l'accesso al bucket R2.
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 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 nel target 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;
Consulta la sezione Clonare una tabella in Azure Databricks e la sezione 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.