Monitorare BI Engine
BigQuery BI Engine accelera BigQuery per gli scenari di BI utilizzando la cache in memoria e un'esecuzione più rapida. I dettagli dell'accelerazione possono essere monitorati utilizzando INFORMATION_SCHEMA e le metriche Cloud Monitoring.
Cloud Monitoring
Puoi monitorare e configurare gli avvisi per BigQuery BI Engine con Cloud Monitoring. Per scoprire come creare un grafico per le metriche di BI Engine, consulta Creare grafici.
Per BigQuery BI Engine sono disponibili le seguenti metriche:
| Risorsa | Metrica | Dettagli |
|---|---|---|
| Progetto BigQuery | Byte totali della prenotazione | Capacità totale allocata a one Google Cloud project |
| Progetto BigQuery | Byte utilizzati della prenotazione | Capacità totale utilizzata in one Google Cloud project |
| Progetto BigQuery | Byte memorizzati nella cache delle tabelle principali di BI Engine | Utilizzo della cache per tabella. Questa metrica mostra l'utilizzo dei report delle prime N tabelle per regione. |
Statistiche sulle query per BI Engine
Questa sezione spiega come trovare le statistiche sulle query per monitorare, diagnosticare, e risolvere i problemi relativi all'utilizzo di BI Engine.
Modalità di accelerazione di BI Engine
Con l'accelerazione di BI Engine abilitata, la query può essere eseguita in una di queste quattro modalità:
BI_ENGINE_DISABLED |
BI Engine ha disabilitato l'accelerazione.
biEngineReasons specifica un motivo più dettagliato. La query è stata
eseguita utilizzando il motore di esecuzione di BigQuery. |
PARTIAL_INPUT |
Parte dell'input della query è stata accelerata utilizzando BI Engine. Come
descritto in
Ottimizzazione e accelerazione delle query, un piano di query viene generalmente suddiviso
in più fasi di input. BI Engine supporta i tipi comuni di pattern di sottoquery che vengono in genere utilizzati nei dashboard. Se la query è composta da più fasi di input, di cui solo alcune rientrano nei casi d'uso supportati, BI Engine esegue le fasi non supportate utilizzando il normale motore BigQuery senza accelerazione. In questa situazione, BI Engine restituisce un codice di accelerazione PARTIAL e utilizza biEngineReasons per indicare il motivo per cui non accelera altre fasi di input. |
FULL_INPUT |
Tutte le fasi di input della query sono state accelerate utilizzando BI Engine. I dati memorizzati nella cache vengono riutilizzati nelle query e il calcolo che segue immediatamente la lettura dei dati viene accelerato. |
FULL_QUERY |
L'intera query è stata accelerata utilizzando BI Engine. |
Visualizzare le statistiche dei job dell'API BigQuery
Le statistiche dettagliate su BI Engine sono disponibili tramite l'API BigQuery.
Per recuperare le statistiche associate alle query accelerate da BI Engine, esegui il seguente comando dello strumento a riga di comando bq:
bq show --format=prettyjson -j job_id
Se il progetto è abilitato per l'accelerazione di BI Engine, l'output genera un nuovo campo, biEngineStatistics. Ecco un report di job di esempio:
"statistics": {
"creationTime": "1602175128902",
"endTime": "1602175130700",
"query": {
"biEngineStatistics": {
"biEngineMode": "DISABLED",
"biEngineReasons": [
{
"code": "UNSUPPORTED_SQL_TEXT",
"message": "Detected unsupported join type"
}
]
},
Per ulteriori informazioni sul campo BiEngineStatistics, consulta il
riferimento ai job.
Statistiche dello schema informativo di BigQuery
Le statistiche di accelerazione di BI Engine sono incluse nelle
viste INFORMATION_SCHEMA
di BigQuery come parte delle viste INFORMATION_SCHEMA.JOBS_BY_* nella colonna
bi_engine_statistics.
Ad esempio, questa query restituisce bi_engine_statistics per tutti i job dei progetti attuali nelle ultime 24 ore:
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"
Utilizza il seguente formato per specificare
la regionalità per
project-id, region e views nella vista INFORMATION_SCHEMA:
`PROJECT_ID`.`region-REGION_NAME`.INFORMATION_SCHEMA.VIEW
Visualizzare i dettagli dello schema informativo di Data Studio
Puoi monitorare i report e le origini dati di Data Studio che sono
utilizzati da BigQuery visualizzando la INFORMATION_SCHEMA.JOBS
vista. Ogni query di Data Studio in BigQuery crea una voce con le etichette report_id e datasource_id. Questi ID vengono visualizzati alla fine dell'URL di Data Studio quando apri una pagina di report o di origine dati.
Ad esempio, un report con l'URL
https://lookerstudio.google.com/navigation/reporting/my-report-id-123 ha un
ID report "my-report-id-123".
Gli esempi seguenti mostrano come visualizzare report e origini dati:
Trovare l'URL del report e dell'origine dati per ogni job BigQuery di Data Studio
-- Standard labels used by Data 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;
Visualizzare i job generati utilizzando un report e un'origine dati
-- Specify report and data source id, which can be found at the end of Data Studio URLs. DECLARE user_report_id STRING DEFAULT '*report id here*'; DECLARE user_datasource_id STRING DEFAULT '*datasource id here*'; -- Data 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'accelerazione di BI Engine fa parte dell'elaborazione dei job BigQuery. Per esaminare i job BigQuery per un progetto specifico,
consulta la pagina di Cloud Logging con un payload di
protoPayload.serviceName="bigquery.googleapis.com".
Passaggi successivi
- Scopri di più su Cloud Monitoring.
- Scopri di più sui grafici di monitoraggio charts.
- Scopri di più sugli avvisi di monitoraggio .
- Scopri di più su Cloud Logging.