Övervaka och hantera utgående kostnader för deltadelning (för leverantörer)
Den här artikeln beskriver verktyg som du kan använda för att övervaka och hantera utgående kostnader för molnleverantörer när du delar data och AI-tillgångar med deltadelning.
Till skillnad från andra datadelningsplattformar kräver Delta-delning inte datareplikering. Den här modellen har många fördelar, men det innebär att molnleverantören kan ta ut avgifter för utgående data när du delar data mellan moln eller regioner. Om du använder DeltaDelning för att dela data och AI-tillgångar inom en region medför du ingen utgående kostnad.
För att övervaka och hantera utgående avgifter tillhandahåller Databricks:
- Instruktioner för att replikera data mellan regioner för att undvika utgående avgifter.
- Stöd för Cloudflare R2-lagring för att undvika utgående avgifter.
Replikera data för att undvika utgående kostnader
En metod för att undvika utgående kostnader är att leverantören skapar och synkroniserar lokala repliker av delade data i regioner som mottagarna använder. En annan metod är att mottagare klonar delade data till lokala regioner för aktiv frågekörning och konfigurerar synkroniseringar mellan den delade tabellen och den lokala klonen. I det här avsnittet beskrivs ett antal replikeringsmönster.
Använda Delta deep clone för inkrementell replikering
Leverantörer kan använda DEEP CLONE
för att replikera Delta-tabeller till externa platser i de regioner som de delar till. Djupa kloner kopierar källtabelldata och metadata till klonmålet. Djupa kloner möjliggör också inkrementella uppdateringar genom att identifiera nya data i källtabellen och uppdatera målet i enlighet med detta.
CREATE TABLE [IF NOT EXISTS] table_name DEEP CLONE source_table_name
[TBLPROPERTIES clause] [LOCATION path];
Du kan schemalägga ett Databricks-jobb för att uppdatera måltabelldata stegvis med de senaste uppdateringarna i den delade tabellen med hjälp av följande kommando:
CREATE OR REPLACE TABLE table_name DEEP CLONE source_table_name;
Se Klona en tabell i Azure Databricks och Schemalägg och samordna arbetsflöden.
Aktivera ändringsdataflöde (CDF) i delade tabeller för inkrementell replikering
När en tabell delas med dess CDF kan mottagaren komma åt ändringarna och sammanfoga dem till en lokal kopia av tabellen, där användarna utför frågor. I det här scenariot går mottagarens åtkomst till data inte över regiongränserna och utgående är begränsad till att uppdatera en lokal kopia. Om mottagaren finns på Databricks kan de använda ett Databricks-arbetsflödesjobb för att sprida ändringar till en lokal replik.
Om du vill dela en tabell med CDF måste du aktivera CDF i tabellen och dela den WITH HISTORY
.
Mer information om hur du använder CDF finns i Använda Delta Lake-ändringsdataflöde i Azure Databricks och Lägg till tabeller i en resurs.
Använda Cloudflare R2-repliker eller migrera lagring till R2
Cloudflare R2-objektlagring medför inga utgående avgifter. Genom att replikera eller migrera data som du delar till R2 kan du dela data med deltadelning utan att behöva betala utgående avgifter. I det här avsnittet beskrivs hur du replikerar data till en R2-plats och aktiverar inkrementella uppdateringar från källtabeller.
Krav
- Databricks-arbetsytan är aktiverad för Unity Catalog.
- Databricks Runtime 14.3 eller senare eller SQL Warehouse 2024.15 eller senare.
- Cloudflare-konto. Se https://dash.cloudflare.com/sign-up.
- Cloudflare R2-administratörsroll. Se dokumentationen om Cloudflare-roller.
CREATE STORAGE CREDENTIAL
behörighet på Unity Catalog-metaarkivet som är kopplat till arbetsytan. Kontoadministratörer och metaarkivadministratörer har den här behörigheten som standard.CREATE EXTERNAL LOCATION
behörighet för både metaarkivet och lagringsautentiseringsuppgifterna som refereras till på den externa platsen. Metaarkivadministratörer har den här behörigheten som standard.CREATE MANAGED STORAGE
behörighet på den externa platsen.CREATE CATALOG
på metaarkivet. Metaarkivadministratörer har den här behörigheten som standard.
Montera en R2-bucket som en extern plats i Azure Databricks
Skapa en Cloudflare R2-bucket.
Skapa en lagringsautentiseringsuppgift i Unity Catalog som ger åtkomst till R2-bucketen.
Använd lagringsautentiseringsuppgifterna för att skapa en extern plats i Unity Catalog.
Se Skapa en extern plats för att ansluta molnlagring till Azure Databricks.
Skapa en ny katalog med hjälp av den externa platsen
Skapa en katalog som använder den nya externa platsen som sin hanterade lagringsplats.
Se Skapa kataloger.
Gör följande när du skapar katalogen:
Katalogutforskaren
- Välj en standardkatalogtyp .
- Under Lagringsplats väljer du Välj en lagringsplats och anger sökvägen till R2-bucketen som du definierade som en extern plats. Till exempel:
r2://mybucket@my-account-id.r2.cloudflarestorage.com
SQL
Använd sökvägen till R2-bucketen som du definierade som en extern plats. Till exempel:
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';
Klona de data som du vill dela till en tabell i den nya katalogen
Använd DEEP CLONE
för att replikera tabeller i Azure Data Lake Storage Gen2 till den nya katalogen som använder R2 för hanterad lagring. Djupa kloner kopierar källtabelldata och metadata till klonmålet. Djupa kloner möjliggör också inkrementella uppdateringar genom att identifiera nya data i källtabellen och uppdatera målet i enlighet med detta.
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';
Du kan schemalägga ett Databricks-jobb för att uppdatera måltabelldata stegvis med de senaste uppdateringarna i källtabellen med hjälp av följande kommando:
CREATE OR REPLACE TABLE new_catalog.schema1.new_table DEEP CLONE old_catalog.schema1.source_table;
Se Klona en tabell i Azure Databricks och Schemalägg och samordna arbetsflöden.
Dela den nya tabellen
När du skapar resursen lägger du till tabellerna som finns i den nya katalogen, lagrade i R2. Processen är densamma som att lägga till en tabell i en resurs.