Freigeben über


Überwachen und Verwalten der Kosten für ausgehende Delta Sharing-Daten (für Anbieter)

In diesem Artikel werden Tools beschrieben, mit denen Sie die Kosten für die ausgehenden Daten von Cloudanbietern überwachen und verwalten können, wenn Sie Daten und KI-Ressourcen mithilfe von Delta Sharing freigeben.

Im Gegensatz zu anderen Datenfreigabeplattformen erfordert Delta Sharing keine Datenreplikation. Dieses Modell bietet viele Vorteile, allerdings kann Ihr Cloudanbieter möglicherweise Gebühren für ausgehende Daten erheben, wenn Sie Daten cloud- oder regionsübergreifend freigeben. Wenn Sie Delta Sharing verwenden, um Daten und KI-Ressourcen innerhalb einer Region freizugeben, entstehen keine Kosten für ausgehende Daten.

Um die Gebühren für ausgehende Daten zu überwachen und zu verwalten, bietet Databricks Folgendes:

Replizieren von Daten, um Kosten für ausgehende Daten zu vermeiden

Ein Ansatz zur Vermeidung von Kosten für ausgehende Daten besteht darin, dass der Anbieter lokale Replikate von freigegebenen Daten in Regionen erstellt und synchronisiert, die von ihren Empfängern verwendet werden. Ein weiterer Ansatz besteht darin, dass Empfänger die freigegebenen Daten für die aktive Abfrage in lokale Regionen klonen und Synchronisierungen zwischen der freigegebenen Tabelle und dem lokalen Klon einrichten. In diesem Abschnitt wird eine Reihe von Replikationsmustern erläutert.

Verwenden von Delta Deep Clone für die inkrementelle Replikation

Anbieter können DEEP CLONE verwenden, um Delta-Tabellen in externen Speicherorte in den freigegebenen Regionen zu replizieren. Tiefe Klone kopieren die Daten und Metadaten der Quelltabelle in das Klonziel. Tiefe Klone ermöglichen außerdem inkrementelle Updates, indem neue Daten in der Quelltabelle identifiziert und das Ziel entsprechend aktualisiert wird.

CREATE TABLE [IF NOT EXISTS] table_name DEEP CLONE source_table_name
   [TBLPROPERTIES clause] [LOCATION path];

Sie können einen Databricks-Auftrag mit folgendem Befehl so planen, dass Zieltabellendaten inkrementell mit den aktuellen Updates in der freigegebenen Tabelle aktualisiert werden:

CREATE OR REPLACE TABLE table_name DEEP CLONE source_table_name;

Weitere Informationen finden Sie unter Klonen einer Tabelle in Azure Databricks und Planen und Orchestrieren von Workflows.

Aktivieren der inkrementellen Replikation für den Änderungsdatenfeed in freigegebenen Tabellen

Wenn eine Tabelle für den Änderungsdatenfeed (Change Data Feed, CDF) freigegeben wird, können die Empfänger auf die Änderungen zugreifen und diese in einer lokalen Kopie der Tabelle zusammenführen, in der Benutzer Abfragen ausführen. In diesem Szenario erfolgt der Empfängerzugriff auf die Daten nicht regionsübergreifend, und die ausgehenden Daten sind auf das Aktualisieren einer lokalen Kopie beschränkt. Empfänger auf Databricks können einen Databricks-Workflowauftrag verwenden, um Änderungen auf ein lokales Replikat anzuwenden.

Um eine Tabelle mit CDF freizugeben, müssen Sie CDF für die Tabelle aktivieren und mithilfe von WITH HISTORY freigeben.

Weitere Informationen zur Verwendung von CDF finden Sie unter Verwenden des Delta Lake-Änderungsdatenfeeds in Azure Databricks und Hinzufügen von Tabellen zu einer Freigabe.

Verwenden von Cloudflare R2-Replikaten oder Migrieren des Speichers zu R2

Durch den Cloudflare R2-Objektspeicher entstehen keine Gebühren für ausgehende Daten. Durch das Replizieren oder Migrieren von Daten, die Sie auf R2 freigeben, können Sie Daten mithilfe von Delta Sharing ohne Gebühren für ausgehende Daten freigeben. In diesem Abschnitt wird beschrieben, wie Daten in einem R2-Speicherort repliziert und inkrementelle Updates aus Quelltabellen aktiviert werden.

Anforderungen

  • Databricks-Arbeitsbereich, der für Unity Catalog aktiviert ist
  • Databricks Runtime 14.3 oder höher oder SQL Warehouse 2024.15 oder höher.
  • Ein Cloudflare-Konto Siehe https://dash.cloudflare.com/sign-up.
  • Cloudflare R2-Administratorrolle. Weitere Informationen finden Sie in der Dokumentation zu Cloudflare-Rollen.
  • CREATE STORAGE CREDENTIAL-Berechtigungen für den Unity Catalog-Metastore, der an den Arbeitsbereich angefügt ist. Kontoadministratoren und Metastoreadministratoren verfügen standardmäßig über diese Berechtigung.
  • CREATE EXTERNAL LOCATION-Berechtigung für den Metastore und die Speicheranmeldeinformationen, auf die im externen Speicherort verwiesen wird. Metastoreadministratoren verfügen standardmäßig über diese Berechtigung.
  • CREATE MANAGED STORAGE-Berechtigungen für den externen Speicherort
  • CREATE CATALOG im Metastore. Metastoreadministratoren verfügen standardmäßig über diese Berechtigung.

Einbinden eines R2-Buckets als externer Speicherort in Azure Databricks

  1. Erstellen Sie einen Cloudflare R2-Bucket.

    Weitere Informationen finden Sie unter Konfigurieren eines R2-Buckets.

  2. Erstellen Sie eine Speicheranmeldeinformation in Unity Catalog, die Zugriff auf den R2-Bucket gewährt.

    Weitere Informationen finden Sie unter Erstellen der Speicheranmeldeinformationen.

  3. Verwenden Sie die Speicheranmeldeinformationen, um einen externen Speicherort in Unity Catalog zu erstellen.

    Weitere Informationen finden Sie unter Erstellen eines externen Speicherorts zum Verbinden des Cloudspeichers mit Azure Databricks.

Erstellen eines neuen Katalogs mithilfe des externen Speicherorts

Erstellen Sie einen Katalog, der den neuen externen Speicherort als verwalteten Speicherort verwendet.

Weitere Informationen finden Sie unter Erstellen von Katalogen.

Führen Sie beim Erstellen des Katalogs die folgenden Schritte aus:

Katalog-Explorer

  • Wählen Sie einen Katalog des Typs Standard aus.
  • Wählen Sie unter Speicherort die Option Speicherort auswählen aus, und geben Sie den Pfad zu dem R2-Bucket ein, den Sie als externer Speicherort definiert haben. Beispiel: r2://mybucket@my-account-id.r2.cloudflarestorage.com

SQL

Verwenden Sie den Pfad zu dem R2-Bucket, den Sie als externen Speicherort definiert haben. Beispiel:

  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';

Klonen der Daten, die für eine Tabelle im neuen Katalog freigeben werden sollen

Verwenden Sie den Befehl DEEP CLONE, um Tabellen in Azure Data Lake Storage Gen2 im neuen Katalog zu replizieren, der R2 als verwalteten Speicher verwendet. Tiefe Klone kopieren die Daten und Metadaten der Quelltabelle in das Klonziel. Tiefe Klone ermöglichen außerdem inkrementelle Updates, indem neue Daten in der Quelltabelle identifiziert und das Ziel entsprechend aktualisiert wird.

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';

Sie können einen Databricks-Auftrag mit folgendem Befehl so planen, dass Zieltabellendaten inkrementell mit den aktuellen Updates in der Quelltabelle aktualisiert werden:

CREATE OR REPLACE TABLE new_catalog.schema1.new_table DEEP CLONE old_catalog.schema1.source_table;

Weitere Informationen finden Sie unter Klonen einer Tabelle in Azure Databricks und Planen und Orchestrieren von Workflows.

Freigeben der neuen Tabelle

Fügen Sie beim Erstellen der Freigabe die Tabellen hinzu, die sich im neuen in R2 gespeicherten Katalog befinden. Der Vorgang entspricht dem Hinzufügen einer beliebigen Tabelle zu einer Freigabe.

Weitere Informationen finden Sie unter Erstellen und Verwalten von Freigaben für Delta Sharing.