Partager via


Surveiller et gérer les coûts de sortie Delta Sharing (pour les fournisseurs)

Cet article décrit les outils que vous pouvez utiliser pour surveiller et gérer les coûts de sortie des fournisseurs de cloud lorsque vous partagez des données et des ressources IA à l’aide de Delta Sharing.

Contrairement à d’autres plateformes de partage de données, Delta Sharing ne nécessite pas de réplication des données. Ce modèle présente de nombreux avantages, mais il signifie que votre fournisseur de cloud peut facturer des frais de sortie de données lorsque vous partagez des données entre des clouds ou des régions. Si vous utilisez Delta Sharing pour partager des données et des ressources IA au sein d’une région, vous n’avez aucun coût de sortie.

Pour surveiller et gérer les frais de sortie, Databricks fournit ce qui suit :

Répliquer des données pour éviter les coûts de sortie

L’une des approches permettant d’éviter les coûts de sortie consiste, pour le fournisseur, à créer et à synchroniser des réplicas locaux de données partagées dans les régions utilisées par leurs destinataires. Une autre approche consiste à permettre aux destinataires de cloner les données partagées vers des régions locales pour l’interrogation active, en configurant des synchronisations entre la table partagée et le clone local. Cette section traite d’un certain nombre de modèles de réplication.

Utiliser un clone profond Delta pour la réplication incrémentielle

Les fournisseurs peuvent utiliser DEEP CLONE pour répliquer des tables Delta vers des emplacements externes dans les régions dans lesquelles ils partagent. Les clones profonds copient les données et métadonnées de la table source vers la cible clone. Les clones profonds permettent également des mises à jour incrémentielles en identifiant les nouvelles données dans la table source et en actualisant la cible en conséquence.

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

Vous pouvez planifier un travail Databricks pour actualiser les données de la table cible de manière incrémentielle avec les mises à jour récentes de la table partagée, à l’aide de la commande suivante :

CREATE OR REPLACE TABLE table_name DEEP CLONE source_table_name;

Consultez Cloner une table sur Azure Databricks et Planifier et orchestrer des flux de travail.

Activer le flux des changements de données sur les tables partagées pour la réplication incrémentielle

Lorsqu’une table est partagée avec son flux des changements de données, le destinataire peut accéder aux changements et les fusionner dans une copie locale de la table, où les utilisateurs effectuent des requêtes. Dans ce scénario, l’accès du destinataire aux données ne dépasse pas les limites de région, et la sortie est limitée à l’actualisation d’une copie locale. Si le destinataire se trouve sur Databricks, il peut utiliser un travail Databricks Workflows pour propager les changements à un réplica local.

Pour partager une table avec flux des changements de données, vous devez activer les flux des changements de données sur la table et la partager WITH HISTORY.

Pour plus d’informations sur l’utilisation des flux des changements de données, consultez Utiliser le flux des changements de données Delta Lake sur Azure Databricks et Ajouter des tables à un partage.

Utiliser des réplicas Cloudflare R2 ou migrer le stockage vers R2

Le stockage d’objets Cloudflare R2 n’entraîne aucun frais de sortie. La réplication ou la migration de données que vous partagez vers R2 vous permet de partager des données à l’aide de Delta Sharing sans entraîner de frais de sortie. Cette section explique comment répliquer des données vers un emplacement R2 et activer des mises à jour incrémentielles à partir de tables sources.

Spécifications

  • Un espace de travail Databricks activé pour Unity Catalog.
  • Databricks Runtime 14.3 ou version ultérieure, ou SQL Warehouse 2024.15 ou version ultérieure.
  • Un compte Cloudflare. Consultez https://dash.cloudflare.com/sign-up.
  • Rôle d’administrateur Cloudflare R2. Consultez la documentation sur les rôles Cloudflare.
  • CREATE STORAGE CREDENTIAL autorisation sur le metastore Unity Catalog attaché à l’espace de travail. Les administrateurs de compte et les administrateurs de metastore disposent de ce privilège par défaut.
  • Privilège CREATE EXTERNAL LOCATION sur le metastore et les informations d’identification de stockage référencées dans l’emplacement externe. Les administrateurs de metastore disposent de ce privilège par défaut.
  • Privilège CREATE MANAGED STORAGE sur l’emplacement externe.
  • CREATE CATALOG sur le metastore. Les administrateurs de metastore disposent de ce privilège par défaut.

Monter un compartiment R2 en tant qu’emplacement externe dans Azure Databricks

  1. Créez un compartiment Cloudflare R2.

    Consultez Configurer un compartiment R2.

  2. Créez dans Unity Catalog des informations d’identification de stockage qui donnent accès au compartiment R2.

    Consultez Créer les informations d’identification de stockage.

  3. Utilisez les informations d’identification de stockage pour créer un emplacement externe dans Unity Catalog.

    Consultez Créer un emplacement externe pour connecter le stockage cloud à Azure Databricks.

Créer un catalogue à l’aide de l’emplacement externe

Créez un catalogue qui utilise le nouvel emplacement externe comme emplacement de stockage managé.

Consultez Créer des catalogues.

Lorsque vous créez le catalogue, effectuez ces étapes :

Explorateur de catalogues

  • Sélectionnez un type de catalogue Standard.
  • Sous Emplacement de stockage, sélectionnez Sélectionner un emplacement de stockage et entrez le chemin d’accès au compartiment R2 que vous avez défini comme emplacement externe. Par exemple, r2://mybucket@my-account-id.r2.cloudflarestorage.com

SQL

Utilisez le chemin d’accès au compartiment R2 que vous avez défini comme emplacement externe. Par exemple :

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

Clonez les données que vous souhaitez partager dans une table dans le nouveau catalogue

Utilisez DEEP CLONE pour répliquer des tables dans Azure Data Lake Storage Gen2 vers le nouveau catalogue qui utilise R2 comme stockage managé. Les clones profonds copient les données et métadonnées de la table source vers la cible clone. Les clones profonds permettent également des mises à jour incrémentielles en identifiant les nouvelles données dans la table source et en actualisant la cible en conséquence.

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

Vous pouvez planifier un travail Databricks pour actualiser les données de la table cible de manière incrémentielle avec les mises à jour récentes de la table source, à l’aide de la commande suivante :

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

Consultez Cloner une table sur Azure Databricks et Planifier et orchestrer des flux de travail.

Partager la nouvelle table

Lorsque vous créez le partage, ajoutez les tables qui se trouvent dans le nouveau catalogue, stockées dans R2. Le processus est identique à l’ajout d’une table à un partage.

Consultez Créer et gérer des partages pour Delta Sharing.