Partager via


Référence de la table système d’historique de matérialisation de Delta Sharing

La table d’historique des données matérialisées partagées représente les matérialisations de données créées à partir du partage de vues, des vues matérialisées et des tables de streaming via Delta Sharing. Elle contient des informations sur l’origine des données, l’élément sécurisable matérialisé et le moment de la création de cette matérialisation.

Pour plus d’informations sur les matérialisations partagées, consultez Ajouter des vues à un partage et lire des vues partagées.

Chemin d’accès de la table : cette table système se trouve à l’emplacement system.sharing.materialization_history.

Activer le materialization_history schéma

Un administrateur de compte doit activer le materialization_history schéma :

  1. Dans la console de compte, cliquez sur Aperçus dans le volet gauche.
  2. Activez la table système historique de matérialisation du partage.

Schéma de la table système d’historique des données matérialisées partagées

La table système d’historique des données matérialisée partagée utilise le schéma suivant :

Nom de la colonne Type Descriptif Exemple de données Autorise la valeur Null
sharing_materialization_id ficelle ID unique d'une donnée matérialisée. da38803f-2a62-4e27-bdb9-29b801c6dd84 Faux
account_id ficelle Identifiant du compte Azure Databricks où la matérialisation a été créée. Faux
workspace_id ficelle Identifiant de l’espace de travail Azure Databricks facturé. 6051921418418893 Faux
recipient_name ficelle Nom du destinataire à l’aide de la matérialisation des données. e2-dogfood Vrai
provider_name ficelle Nom du fournisseur utilisant la matérialisation des données. aws:us-west-2:19a85dee-54bc-43a2-87ab-023d0ec16013 Vrai
share_name ficelle Nom du partage utilisé pour créer la matérialisation des données. my_share Faux
schema_name ficelle Nom du schéma de la ressource partagée. my_schema Faux
table_name ficelle Nom de la table utilisée pour créer la matérialisation des données. stocks Faux
created_at horodatage Horodatage indiquant le moment où la matérialisation a été créée. 2025-01-01 00:00:00 Faux

Exemples de requêtes

Cette section inclut les exemples de requêtes suivants que vous pouvez utiliser pour obtenir des informations sur l’attribution de facturation :

Lorsque le fournisseur est facturé pour la matérialisation des données, seul le fournisseur peut voir les résultats de la requête. Lorsque le destinataire est facturé pour la matérialisation des données, seul le destinataire peut voir les résultats de la requête.

Pour plus d’informations sur comment les attributs de Delta Sharing entraînent des coûts, consultez Comment encourir et vérifier les coûts de Delta Sharing ?.

Un destinataire Delta Sharing demande le nombre d’unités DBU utilisées en interrogeant les vues partagées

Remplacez les instances de ... par vos informations.

SELECT
  SUM(bu.usage_quantity)
FROM
  system.billing.usage bu
INNER JOIN
  system.sharing.materialization_history dm
ON
  dm.sharing_materialization_id = bu.usage_metadata.sharing_materialization_id
WHERE
  bu.billing_origin_product = 'DATA_SHARING' AND
 dm.share_name = '...' AND
 dm.schema_name = '...' AND
 dm.table_name IN (...);

Un destinataire Delta Sharing demande quel fournisseur a enregistré le plus d'utilisation

SELECT
  SUM(bu.usage_quantity) AS total_usage,
  dm.provider_name
FROM
  system.billing.usage bu
INNER JOIN
  system.sharing.materialization_history dm
ON
  dm.sharing_materialization_id = bu.usage_metadata.sharing_materialization_id
WHERE
  bu.billing_origin_product = 'DATA_SHARING'
GROUP BY
  dm.provider_name
ORDER BY
  total_usage DESC;

Un fournisseur de Delta Sharing s'interroge sur le nombre de DBUs utilisés pour le filtrage des vues pour les destinataires ouverts

SELECT
  SUM(bu.usage_quantity)
FROM
  system.billing.usage bu
INNER JOIN
  system.sharing.materialization_history dm
ON
  dm.sharing_materialization_id = bu.usage_metadata.sharing_materialization_id
INNER JOIN
  system.information_schema.table_share_usage tsu
ON
  dm.share_name = tsu.share_name AND
  dm.schema_name = tsu.schema_name AND
  dm.table_name = tsu.table_name
INNER JOIN
  system.information_schema.tables t
ON
  t.table_catalog = tsu.catalog_name AND
  t.table_schema = tsu.schema_name AND
  t.table_name = tsu.table_name
WHERE
  bu.billing_origin_product = 'DATA_SHARING' AND
  t.table_type = 'VIEW';

Un fournisseur Delta Sharing demande quel destinataire ouvert entraîne le coût le plus élevé

SELECT
 SUM(usage_quantity) AS usage,
 srp.recipient_name
FROM
  system.billing.usage bu
INNER JOIN
  system.sharing.materialization_history dm
ON
  dm.sharing_materialization_id = bu.usage_metadata.sharing_materialization_id
INNER JOIN system.information_schema.share_recipient_privileges srp
ON
  srp.share_name = dm.share_name
WHERE
  bu.billing_origin_product = 'DATA_SHARING'
GROUP BY
  srp.recipient_name
ORDER BY
  usage DESC
LIMIT 1;