Aller au contenu principal

Référence de la table système de l'historique de matérialisation OpenSharing

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 utilisant OpenSharing. Il contient des informations sur l'origine des données, l'élément sécurisable en cours de matérialisation et la date de création de la matérialisation.

Pour plus d'informations concernant les matérialisations partagées, consultez Ajouter des vues à un partage et Lire les vues partagées.

**Chemin de la table** : Cette table système est située system.sharing.materialization_history à.

Activez le schéma materialization_history

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

  1. Dans la console du compte, cliquez sur Previews dans le panneau latéral gauche.
  2. Activer la table système d'historique de matérialisation du partage .

Schéma de table système d'historique de données matérialisées partagé

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

Nom de la colonne

Type

Description

Exemple de données

Autorise les valeurs nulles

sharing_materialization_id

chaîne

L'ID unique d'une matérialisation des données.

da38803f-2a62-4e27-bdb9-29b801c6dd84

false

account_id

chaîne

L'ID du compte Databricks où la matérialisation a été créée.

false

workspace_id

chaîne

L'ID du Workspace Databricks facturé.

6051921418418893

false

recipient_name

chaîne

Nom du destinataire utilisant la matérialisation des données.

e2-dogfood

Vrai

provider_name

chaîne

Nom du fournisseur utilisant la matérialisation des données.

aws:us-west-2:19a85dee-54bc-43a2-87ab-023d0ec16013

Vrai

share_name

chaîne

Nom du partage utilisé pour créer la matérialisation des données.

my_share

false

schema_name

chaîne

Nom du schéma de l'asset partagé.

my_schema

false

table_name

chaîne

Nom de la table utilisée pour créer la matérialisation des données.

stocks

false

created_at

Horodatage

Timestamp de la création de la matérialisation.

2025-01-01 00:00:00

false

Nom de la colonne

Type

Description

Exemple de données

Autorise les valeurs nulles

sharing_materialization_id

chaîne

L'ID unique d'une matérialisation des données.

da38803f-2a62-4e27-bdb9-29b801c6dd84

false

account_id

chaîne

L'ID du compte Databricks où la matérialisation a été créée.

false

workspace_id

chaîne

L'ID du Workspace Databricks facturé.

6051921418418893

false

recipient_name

chaîne

Nom du destinataire utilisant la matérialisation des données.

e2-dogfood

Vrai

provider_name

chaîne

Nom du fournisseur utilisant la matérialisation des données.

aws:us-west-2:19a85dee-54bc-43a2-87ab-023d0ec16013

Vrai

share_name

chaîne

Nom du partage utilisé pour créer la matérialisation des données.

my_share

false

schema_name

chaîne

Nom du schéma de l'asset partagé.

my_schema

false

table_name

chaîne

Nom de la table utilisée pour créer la matérialisation des données.

stocks

false

created_at

Horodatage

Timestamp de la création de la matérialisation.

2025-01-01 00:00:00

false

Exemples de query

Cette section comprend les exemples de requêtes suivants que vous pouvez utiliser pour obtenir un insight de l’attribution de la facturation :

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

Pour plus de détails sur la façon dont OpenSharing attribue et entraîne des coûts, consultez Comment gérer et vérifier les coûts OpenSharing ?.

Un destinataire OpenSharing demande combien de DBU ont été dépensées pour interroger des vues partagées

Remplacez les instances de ... par votre information.

SQL
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 OpenSharing demande quel fournisseur a le plus query l’utilisation.

SQL
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 OpenSharing demande combien de DBU ont été dépensées pour le filtrage des vues pour les destinataires ouverts

SQL
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 OpenSharing demande quel destinataire ouvert entraîne le plus de coûts

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