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