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 :
- Dans la console du compte, cliquez sur Previews dans le panneau latéral gauche.
- 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 |
|---|---|---|---|---|
| chaîne | L'ID unique d'une matérialisation des données. |
| false |
| chaîne | L'ID du compte Databricks où la matérialisation a été créée. | false | |
| chaîne | L'ID du Workspace Databricks facturé. |
| false |
| chaîne | Nom du destinataire utilisant la matérialisation des données. |
| Vrai |
| chaîne | Nom du fournisseur utilisant la matérialisation des données. |
| Vrai |
| chaîne | Nom du partage utilisé pour créer la matérialisation des données. |
| false |
| chaîne | Nom du schéma de l'asset partagé. |
| false |
| chaîne | Nom de la table utilisée pour créer la matérialisation des données. |
| false |
| Horodatage | Timestamp de la création de la matérialisation. |
| 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 :
- Un destinataire OpenSharing demande combien de DBU ont été dépensés pour l'interrogation de vues partagées.
- Un destinataire OpenSharing demande quel fournisseur a le plus interrogé l'utilisation
- Un fournisseur OpenSharing demande combien de DBUs ont été dépensés pour le filtrage des vues des destinataires ouverts
- Un fournisseur OpenSharing demande quel destinataire ouvert entraîne le coût le plus élevé
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.
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.
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
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
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;