Surveiller BI Engine
BigQuery BI Engine accélère BigQuery pour les scénarios d'analyse de données à l'aide d'un cache de mémoire et d'une exécution plus rapide. Les détails de l'accélération peuvent être surveillés à l'aide de INFORMATION_SCHEMA et des métriques Cloud Monitoring.
Cloud Monitoring
Vous pouvez surveiller et configurer des alertes pour BigQuery BI Engine avec Cloud Monitoring. Pour savoir comment créer un tableau de bord pour les métriques BI Engine, consultez la section Créer des graphiques.
Les métriques suivantes sont fournies pour BigQuery BI Engine :
Ressource | Métrique | Détails |
---|---|---|
Projet BigQuery | Nombre total d'octets de réservation | Capacité totale allouée à un projet Google Cloud |
Projet BigQuery | Nombre d'octets utilisés pour la réservation | Capacité totale utilisée dans un projet Google Cloud |
Projet BigQuery | Octets mis en cache dans les principales tables BI Engine | Utilisation du cache par table. Cette métrique affiche les N tables principales pour chaque région sur la base de l'utilisation rapportée. |
Statistiques des requêtes pour BI Engine
Cette section explique comment trouver des statistiques de requêtes pour vous aider à surveiller, diagnostiquer et résoudre des problèmes liés à l'utilisation de BI Engine.
Modes d'accélération BI Engine
Lorsque l'accélération de BI Engine est activée, votre requête peut s'exécuter dans l'un des quatre modes suivants :
BI_ENGINE_DISABLED |
BI Engine a désactivé l'accélération.
biEngineReasons spécifie un motif plus détaillé. La requête a été exécutée à l'aide du moteur d'exécution de BigQuery. |
PARTIAL_INPUT |
Une partie de l'entrée de la requête a été accélérée à l'aide de BI Engine. Comme décrit dans la section
Optimisation et accélération des requêtes, un plan de requête est généralement divisé en plusieurs étapes d'entrée. BI Engine accepte les types de modèles de sous-requêtes courants, qui sont généralement utilisés dans les tableaux de bord. Si la requête comprend plusieurs étapes d'entrée, dont seulement quelques-unes relèvent des cas d'utilisation acceptés, BI Engine exécute les étapes non compatibles à l'aide du moteur BigQuery normal sans accélération. Dans ce cas, BI Engine renvoie un code d'accélération PARTIAL et utilise biEngineReasons pour renseigner la raison de l'absence d'accélération des autres étapes d'entrée. |
FULL_INPUT |
Toutes les étapes d'entrée de la requête ont été accélérées à l'aide de BI Engine. Les données mises en cache sont réutilisées dans les requêtes, et le calcul qui suit immédiatement après la lecture des données est accéléré. |
FULL_QUERY |
L'ensemble de la requête a été accéléré à l'aide de BI Engine. |
Afficher les statistiques des jobs de l'API BigQuery
Des statistiques détaillées sur BI Engine sont disponibles via l'API BigQuery.
Pour récupérer les statistiques associées aux requêtes accélérées BI Engine, exécutez la commande suivante de l'outil de ligne de commande bq :
bq show --format=prettyjson -j job_id
Si l'accélération BI Engine est activée pour le projet, la sortie génère un nouveau champ, biEngineStatistics
. Voici un exemple de rapport de tâche :
"statistics": {
"creationTime": "1602175128902",
"endTime": "1602175130700",
"query": {
"biEngineStatistics": {
"biEngineMode": "DISABLED",
"biEngineReasons": [
{
"code": "UNSUPPORTED_SQL_TEXT",
"message": "Detected unsupported join type"
}
]
},
Pour en savoir plus sur le champ BiEngineStatistics
, consultez la documentation de référence relative aux tâches.
Statistiques sur le schéma d'informations BigQuery
Les statistiques d'accélération BI Engine sont incluses dans les vues BigQuery INFORMATION_SCHEMA
dans le cadre des vues INFORMATION_SCHEMA.JOBS_BY_*
dans la colonne bi_engine_statistics
.
Par exemple, cette requête renvoie les bi_engine_statistics
pour tous les jobs des projets en cours durant les dernières 24 heures :
SELECT
creation_time,
job_id,
bi_engine_statistics
FROM
`region-us`.INFORMATION_SCHEMA.JOBS_BY_PROJECT
WHERE
creation_time >
TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 DAY)
AND job_type = "QUERY"
Utilisez le format suivant afin de spécifier la régionalité pour project-id
, region
et views
dans la vue INFORMATION_SCHEMA
:
`PROJECT_ID`.`region-REGION_NAME`.INFORMATION_SCHEMA.VIEW
Afficher les détails du schéma d'informations de Looker Studio
Vous pouvez suivre les sources de données et les rapports Looker Studio utilisés par BigQuery en affichant la vue INFORMATION_SCHEMA.JOBS
. Chaque requête Looker Studio dans BigQuery crée une entrée avec les étiquettes report_id
et datasource_id
. Ces ID apparaissent à la fin de l'URL Looker Studio lorsque vous ouvrez une page de rapport ou de source de données.
Par exemple, l'ID du rapport associé à l'URL https://lookerstudio.google.com/navigation/reporting/my-report-id-123
est "my-report-id-123"
.
Les exemples suivants montrent comment afficher des rapports et des sources de données :
Rechercher l'URL du rapport et de la source de données pour chaque job BigQuery Looker Studio
-- Standard labels used by Looker Studio. DECLARE requestor_key STRING DEFAULT 'requestor'; DECLARE requestor_value STRING DEFAULT 'looker_studio'; CREATE TEMP FUNCTION GetLabel(labels ANY TYPE, label_key STRING) AS ( (SELECT l.value FROM UNNEST(labels) l WHERE l.key = label_key) ); CREATE TEMP FUNCTION GetDatasourceUrl(labels ANY TYPE) AS ( CONCAT("https://lookerstudio.google.com/datasources/", GetLabel(labels, 'looker_studio_datasource_id')) ); CREATE TEMP FUNCTION GetReportUrl(labels ANY TYPE) AS ( CONCAT("https://lookerstudio.google.com/reporting/", GetLabel(labels, 'looker_studio_report_id')) ); SELECT job_id, GetDatasourceUrl(labels) AS datasource_url, GetReportUrl(labels) AS report_url, FROM `region-us`.INFORMATION_SCHEMA.JOBS jobs WHERE creation_time > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 7 DAY) AND GetLabel(labels, requestor_key) = requestor_value LIMIT 100;
Afficher les jobs générés à l'aide d'un rapport et d'une source de données
-- Specify report and data source id, which can be found at the end of Looker Studio URLs. DECLARE user_report_id STRING DEFAULT '*report id here*'; DECLARE user_datasource_id STRING DEFAULT '*datasource id here*'; -- Looker Studio labels for BigQuery. DECLARE requestor_key STRING DEFAULT 'requestor'; DECLARE requestor_value STRING DEFAULT 'looker_studio'; DECLARE datasource_key STRING DEFAULT 'looker_studio_datasource_id'; DECLARE report_key STRING DEFAULT 'looker_studio_report_id'; CREATE TEMP FUNCTION GetLabel(labels ANY TYPE, label_key STRING) AS ( (SELECT l.value FROM UNNEST(labels) l WHERE l.key = label_key) ); SELECT creation_time, job_id, FROM `region-us`.INFORMATION_SCHEMA.JOBS jobs WHERE creation_time > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 7 DAY) AND GetLabel(labels, requestor_key) = requestor_value AND GetLabel(labels, datasource_key) = user_datasource_id AND GetLabel(labels, report_key) = user_report_id ORDER BY 1 LIMIT 100;
Cloud Logging
L'accélération de BI Engine fait partie du traitement des tâches BigQuery. Pour inspecter les tâches BigQuery d'un projet spécifique, consultez la page Cloud Logging avec une charge utile de protoPayload.serviceName="bigquery.googleapis.com"
.
Étape suivante
- Obtenez davantage d'informations sur Cloud Monitoring.
- Apprenez-en davantage sur les graphiques Monitoring.
- Informez-vous sur les alertes Monitoring.
- Apprenez-en plus sur Cloud Logging.