Kosten voor uitgaand verkeer van Delta Sharing bewaken en beheren (voor providers)
In dit artikel worden hulpprogramma's beschreven die u kunt gebruiken om uitgaande kosten van de cloudleverancier te bewaken en te beheren wanneer u gegevens en AI-assets deelt met behulp van Delta Sharing.
In tegenstelling tot andere platforms voor het delen van gegevens, vereist Delta Sharing geen gegevensreplicatie. Dit model heeft veel voordelen, maar het betekent dat uw cloudleverancier kosten voor uitgaande gegevens kan in rekening brengen wanneer u gegevens deelt in clouds of regio's. Als u Delta Sharing gebruikt om gegevens en AI-assets binnen een regio te delen, worden er geen kosten voor uitgaand verkeer in rekening gebracht.
Databricks biedt het volgende om uitgaande kosten te bewaken en te beheren:
- Instructies voor het repliceren van gegevens tussen regio's om uitgaande kosten te voorkomen.
- Ondersteuning voor Cloudflare R2-opslag om uitgaande kosten te voorkomen.
Gegevens repliceren om uitgaande kosten te voorkomen
Een benadering om uitgaande kosten te voorkomen, is door de provider lokale replica's van gedeelde gegevens te maken en te synchroniseren in regio's die hun ontvangers gebruiken. Een andere benadering is dat ontvangers de gedeelde gegevens kunnen klonen naar lokale regio's voor actieve query's, het instellen van synchronisaties tussen de gedeelde tabel en de lokale kloon. In deze sectie wordt een aantal replicatiepatronen besproken.
Delta deep clone gebruiken voor incrementele replicatie
Providers kunnen DEEP CLONE
Delta-tabellen repliceren naar externe locaties in de regio's waarmee ze delen. Diepe klonen kopiƫren de brontabelgegevens en metagegevens naar het kloondoel. Diepe klonen maken ook incrementele updates mogelijk door nieuwe gegevens in de brontabel te identificeren en het doel dienovereenkomstig te vernieuwen.
CREATE TABLE [IF NOT EXISTS] table_name DEEP CLONE source_table_name
[TBLPROPERTIES clause] [LOCATION path];
U kunt een Databricks-taak plannen om de doeltabelgegevens incrementeel te vernieuwen met recente updates in de gedeelde tabel met behulp van de volgende opdracht:
CREATE OR REPLACE TABLE table_name DEEP CLONE source_table_name;
Zie Een tabel klonen in Azure Databricks en Werkstromen plannen en organiseren.
Wijzigingenfeed (CDF) inschakelen voor gedeelde tabellen voor incrementele replicatie
Wanneer een tabel wordt gedeeld met het CDF, heeft de ontvanger toegang tot de wijzigingen en kan deze samenvoegen in een lokale kopie van de tabel, waar gebruikers query's uitvoeren. In dit scenario geldt dat de toegang van geadresseerden tot de gegevens geen regiogrenzen overschrijdt en uitgaand verkeer beperkt is tot het vernieuwen van een lokale kopie. Als de ontvanger zich in Databricks bevindt, kan deze een Databricks-werkstroomtaak gebruiken om wijzigingen door te geven aan een lokale replica.
Als u een tabel wilt delen met CDF, moet u CDF inschakelen in de tabel en deze delen WITH HISTORY
.
Zie Delta Lake-wijzigingenfeed gebruiken in Azure Databricks en tabellen toevoegen aan een share voor meer informatie over het gebruik van CDF.
Cloudflare R2-replica's gebruiken of opslag migreren naar R2
Voor Cloudflare R2-objectopslag worden geen uitgaande kosten in rekening gebracht. Als u gegevens repliceert of migreert die u deelt naar R2, kunt u gegevens delen met Delta Sharing zonder kosten voor uitgaand verkeer. In deze sectie wordt beschreven hoe u gegevens repliceert naar een R2-locatie en incrementele updates inschakelt vanuit brontabellen.
Vereisten
- Databricks-werkruimte ingeschakeld voor Unity Catalog.
- Databricks Runtime 14.3 of hoger, of SQL Warehouse 2024.15 of hoger.
- Cloudflare-account. Zie https://dash.cloudflare.com/sign-up.
- Cloudflare R2-beheerdersrol. Raadpleeg de documentatie over Cloudflare-rollen.
CREATE STORAGE CREDENTIAL
bevoegdheid voor de Unity Catalog-metastore die is gekoppeld aan de werkruimte. Accountbeheerders en metastore-beheerders hebben deze bevoegdheid standaard.CREATE EXTERNAL LOCATION
bevoegdheid voor zowel de metastore als de opslagreferentie waarnaar wordt verwezen op de externe locatie. Metastore-beheerders hebben deze bevoegdheid standaard.CREATE MANAGED STORAGE
bevoegdheid op de externe locatie.CREATE CATALOG
in de metastore. Metastore-beheerders hebben deze bevoegdheid standaard.
Een R2-bucket koppelen als een externe locatie in Azure Databricks
Maak een Cloudflare R2-bucket.
Zie Een R2-bucket configureren.
Maak een opslagreferentie in Unity Catalog die toegang geeft tot de R2-bucket.
Zie De opslagreferentie maken.
Gebruik de opslagreferentie om een externe locatie te maken in Unity Catalog.
Zie Een externe locatie maken om cloudopslag te verbinden met Azure Databricks.
Een nieuwe catalogus maken met behulp van de externe locatie
Maak een catalogus die gebruikmaakt van de nieuwe externe locatie als de beheerde opslaglocatie.
Zie Catalogussen maken.
Ga als volgt te werk wanneer u de catalogus maakt:
Catalogusverkenner
- Selecteer een standaardcatalogustype .
- Selecteer onder Opslaglocatie een opslaglocatie en voer het pad in naar de R2-bucket die u hebt gedefinieerd als een externe locatie. Bijvoorbeeld
r2://mybucket@my-account-id.r2.cloudflarestorage.com
SQL
Gebruik het pad naar de R2-bucket die u hebt gedefinieerd als een externe locatie. Voorbeeld:
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';
De gegevens klonen die u wilt delen naar een tabel in de nieuwe catalogus
Gebruik DEEP CLONE
dit om tabellen in Azure Data Lake Storage Gen2 te repliceren naar de nieuwe catalogus die gebruikmaakt van R2 voor beheerde opslag. Diepe klonen kopiƫren de brontabelgegevens en metagegevens naar het kloondoel. Diepe klonen maken ook incrementele updates mogelijk door nieuwe gegevens in de brontabel te identificeren en het doel dienovereenkomstig te vernieuwen.
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';
U kunt een Databricks-taak plannen om doeltabelgegevens incrementeel te vernieuwen met recente updates in de brontabel met behulp van de volgende opdracht:
CREATE OR REPLACE TABLE new_catalog.schema1.new_table DEEP CLONE old_catalog.schema1.source_table;
Zie Een tabel klonen in Azure Databricks en Werkstromen plannen en organiseren.
De nieuwe tabel delen
Wanneer u de share maakt, voegt u de tabellen toe die zich in de nieuwe catalogus bevinden, opgeslagen in R2. Het proces is hetzelfde als het toevoegen van een tabel aan een share.