Övervaka och hantera egresskostnader för Delta Sharing (för providers)
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 strategi för att undvika utgående kostnader är att leverantören skapar och sync lokala kopior av delade data i de regioner som deras recipients använder. En annan metod är att recipients klonar delade data till lokala regioner för aktiva förfrågningar, och konfigurerar synkroniseringar mellan den delade table och den lokala klonen. I det här avsnittet beskrivs ett antal replikeringsmönster.
Använda Delta deep clone för inkrementell replikering
Providers kan använda DEEP CLONE
för att replikera Delta-tables till externa platser i de regioner som de delar till. Djupa kloner kopierar data och metadata från källan table till mål för klonen. Djupa kloner möjliggör också inkrementella uppdateringar genom att identifiera nya data i källan table 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 refresh måldata table stegvis med de senaste uppdateringarna i den delade tablemed hjälp av följande kommando:
CREATE OR REPLACE TABLE table_name DEEP CLONE source_table_name;
Se Klona en table på Azure Databricks och Schemalägga och samordna arbetsflöden.
Aktivera ändringsdataflöde (CDF) på delade tables för inkrementell replikering
När en table delas med dess CDF kan mottagaren komma åt ändringarna och sammanfoga dem till en lokal kopia av table, när where användare utför sökningar. 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 table med CDF måste du aktivera CDF på table 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 tables till 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 tables.
Krav
- Databricks-arbetsytan har aktiverats 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 metaarkiv 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.
Begränsningar för Cloudflare R2
Providers kan inte dela R2-tables som använder flytande klustring och V2-kontrollpunkt.
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 catalog med hjälp av den externa lokaliseringen
Skapa en catalog som använder den nya externa platsen som sin hanterade lagringsplats.
Se Skapa catalogs.
När du skapar cataloggör du följande:
Catalog Explorer
- Select en Standardcatalog typ.
- Under LagringsplatsselectSelect 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 uppgifter som du vill dela över till en table i den nya catalog
Använd DEEP CLONE
för att replikera tables i Azure Data Lake Storage Gen2 till den nya catalog som använder R2 för hanterad lagring. Djupa kloner kopierar data och metadata från källan table till klonmålet. Djupa kloner möjliggör också inkrementella uppdateringar genom att identifiera nya data i källan table 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 refresh måldata table inkrementellt med de senaste uppdateringarna i källan tablemed 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 table på Azure Databricks och Schemalägga och samordna arbetsflöden.
Dela den nya table
När du skapar delningen lägger du till tables som finns i den nya catalogsom lagras i R2. Processen är densamma som att lägga till vilken table som helst till en andel.