Vue INFORMATION_SCHEMA.SHARE_DATASET_USAGE
La vue INFORMATION_SCHEMA.SHARED_DATASET_USAGE
contient des métadonnées en quasi-temps réel sur la consommation des tables de vos ensembles de données partagés. Pour commencer à partager vos données entre plusieurs organisations, consultez la page Analytics Hub.
Rôles requis
Pour obtenir l'autorisation requise pour interroger la vue INFORMATION_SCHEMA.SHARED_DATASET_USAGE
, demandez à votre administrateur de vous accorder le rôle IAM Propriétaire de données BigQuery (roles/bigquery.dataOwner
) sur votre projet source.
Pour en savoir plus sur l'attribution de rôles, consultez la page Gérer l'accès aux projets, aux dossiers et aux organisations.
Ce rôle prédéfini contient l'autorisation bigquery.datasets.listSharedDatasetUsage
, qui est nécessaire pour interroger la vue INFORMATION_SCHEMA.SHARED_DATASET_USAGE
.
Vous pouvez également obtenir cette autorisation avec des rôles personnalisés ou d'autres rôles prédéfinis.
Schéma
Les données sous-jacentes sont partitionnées par la colonnejob_start_time
et mises en cluster par project_id
et dataset_id
.
INFORMATION_SCHEMA.SHARED_DATASET_USAGE
utilise le schéma suivant :
Nom de colonne | Type de données | Valeur |
---|---|---|
project_id
|
STRING
|
(Colonne de clustering) ID du projet qui contient l'ensemble de données partagé. |
dataset_id
|
STRING
|
(Colonne de clustering) ID de l'ensemble de données partagé. |
table_id
|
STRING
|
ID de la table interrogée. |
data_exchange_id
|
STRING
|
Chemin d'accès de ressource de l'échange de données. |
listing_id
|
STRING
|
Chemin d'accès de ressource de la fiche. |
job_start_time
|
TIMESTAMP
|
(Colonne de partitionnement) Heure de début de ce job. |
job_end_time
|
TIMESTAMP
|
Heure de fin de ce job. |
job_id
|
STRING
|
ID du job. Par exemple, bquxjob_1234. |
job_project_number
|
INTEGER
|
Numéro du projet auquel appartient ce job. |
job_location
|
STRING
|
Emplacement du job. |
linked_project_number
|
INTEGER
|
Numéro du projet de l'abonné. |
linked_dataset_id
|
STRING
|
ID de l'ensemble de données associé de l'abonné. |
subscriber_org_number
|
INTEGER
|
Numéro de l'organisation dans laquelle le job a été exécuté. Il s'agit du numéro d'organisation de l'abonné. Ce champ est vide pour les projets sans organisation. |
subscriber_org_display_name
|
STRING
|
Chaîne de texte lisible faisant référence à l'organisation dans laquelle le job a été exécuté. Il s'agit du numéro d'organisation de l'abonné. Ce champ est vide pour les projets sans organisation. |
num_rows_processed
|
INTEGER
|
Nombre de lignes de cette table traitées par le job. |
total_bytes_processed
|
INTEGER
|
Nombre total d'octets de cette table traités par le job. |
Conservation des données
La vue INFORMATION_SCHEMA.SHARED_DATASET_USAGE
contient les jobs en cours d'exécution ainsi que l'historique des jobs des 180 derniers jours.
Champ d'application et syntaxe
Les requêtes exécutées sur cette vue doivent inclure un qualificatif de région. Si vous ne spécifiez pas de qualificatif de région, les métadonnées sont extraites de la région US. Le tableau suivant explique le champ d'application de la région pour cette vue :
Nom de la vue | Champ d'application de la ressource | Champ d'application de la région |
---|---|---|
[PROJECT_ID.]INFORMATION_SCHEMA.SHARED_DATASET_USAGE |
Niveau Projet | Région US |
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.SHARED_DATASET_USAGE |
Niveau Projet | REGION |
Facultatif : PROJECT_ID
: ID de votre projet Google Cloud. Si non spécifié, le projet par défaut est utilisé.
REGION
: tout nom de région d'ensemble de données.
Par exemple, `region-us`
.
Exemples
Pour exécuter la requête sur un projet autre que celui par défaut, ajoutez l'ID du projet en respectant le format suivant :
PROJECT_ID
.region-REGION_NAME
.INFORMATION_SCHEMA.SHARED_DATASET_USAGE
Par exemple, myproject.region-us.INFORMATION_SCHEMA.SHARED_DATASET_USAGE
.
Obtenir le nombre total de jobs exécutés sur toutes les tables partagées
L'exemple suivant calcule le nombre total de jobs exécutés par des abonnés pour un projet donné :
SELECT COUNT(DISTINCT job_id) AS num_jobs FROM `region-us`.INFORMATION_SCHEMA.SHARED_DATASET_USAGE
Le résultat ressemble à ce qui suit :
+------------+ | num_jobs | +------------+ | 1000 | +------------+
Pour vérifier le nombre total de jobs exécutés par des abonnés, utilisez la clause WHERE
:
- Pour les ensembles de données, utilisez
WHERE dataset_id = "..."
. - Pour les tables, utilisez
WHERE dataset_id = "..." AND table_id = "..."
.
Obtenir la table la plus utilisée en fonction du nombre de lignes traitées
La requête suivante calcule la table la plus utilisée en fonction du nombre de lignes traitées par les abonnés.
SELECT dataset_id, table_id, SUM(num_rows_processed) AS usage_rows FROM `region-us`.INFORMATION_SCHEMA.SHARED_DATASET_USAGE GROUP BY 1, 2 ORDER BY 3 DESC LIMIT 1
Le résultat ressemble à ce qui suit :
+---------------+-------------+----------------+ | dataset_id | table_id | usage_rows | +---------------+-------------+----------------+ | mydataset | mytable | 15 | +---------------+-------------+----------------+
Identifier les principales organisations qui utilisent vos tables
La requête suivante calcule les principaux abonnés en fonction du nombre d'octets traités à partir de vos tables. Vous pouvez également utiliser la colonne num_rows_processed
en tant que métrique.
SELECT subscriber_org_number, ANY_VALUE(subscriber_org_display_name) AS subscriber_org_display_name, SUM(total_bytes_processed) AS usage_bytes FROM `region-us`.INFORMATION_SCHEMA.SHARED_DATASET_USAGE GROUP BY 1
Le résultat ressemble à ce qui suit :
+--------------------------+--------------------------------+----------------+ |subscriber_org_number | subscriber_org_display_name | usage_bytes | +-----------------------------------------------------------+----------------+ | 12345 | myorganization | 15 | +--------------------------+--------------------------------+----------------+
Pour les abonnés sans organisation, vous pouvez utiliser job_project_number
au lieu de subscriber_org_number
.
Obtenir les métriques d'utilisation de votre échange de données
Si votre échange de données et votre ensemble de données source se trouvent dans des projets différents, procédez comme suit pour afficher les métriques d'utilisation de votre échange de données :
- Recherchez toutes les fiches qui appartiennent à votre échange de données.
- Récupérez l'ensemble de données source associé à la fiche.
- Pour afficher les métriques d'utilisation de votre échange de données, utilisez la requête suivante :
SELECT * FROM source_project_1.`region-us`.INFORMATION_SCHEMA.SHARED_DATASET_USAGE WHERE dataset_id='source_dataset_id' AND data_exchange_id="projects/4/locations/us/dataExchanges/x1" UNION ALL SELECT * FROM source_project_2.`region-us`.INFORMATION_SCHEMA.SHARED_DATASET_USAGE WHERE dataset_id='source_dataset_id' AND data_exchange_id="projects/4/locations/us/dataExchanges/x1"