Monitora BI Engine

BigQuery BI Engine accelera BigQuery per gli scenari di BI utilizzando la cache della memoria e un'esecuzione più rapida. I dettagli sull'accelerazione possono essere monitorati utilizzando INFORMATION_SCHEMA e le metriche di Cloud Monitoring.

Cloud Monitoring

Puoi monitorare e configurare gli avvisi per BigQuery BI Engine con Cloud Monitoring. Per scoprire come creare una dashboard 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 un progetto Google Cloud
Progetto BigQuery Byte utilizzati per le prenotazioni Capacità totale utilizzata in un progetto Google Cloud
Progetto BigQuery Byte memorizzati nella cache delle tabelle principali di BI Engine Utilizzo della cache per tabella. Questa metrica mostra le N tabelle principali per l'utilizzo dei report per regione.

Statistiche sulle query per BI Engine

Questa sezione spiega come trovare le statistiche sulle query per monitorare, diagnosticare e risolvere i problemi di 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 disattivato l'accelerazione. biEngineReasons specifica un motivo più dettagliato. La query è stata eseguita utilizzando il motore di esecuzione 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 è generalmente suddiviso in più fasi di input. BI Engine supporta i tipi comuni di pattern di sottoquery che vengono in genere utilizzati nelle dashboard. Se la query è composta da più fasi di input, solo alcune delle quali 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 compilare il motivo per cui non vengono accelerate 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 di 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 lavoro 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 Riferimento attività.

Statistiche dello schema di informazioni di BigQuery

Le statistiche sull'accelerazione di BI Engine sono incluse nelle viste INFORMATION_SCHEMA.JOBS_BY_* di BigQuery INFORMATION_SCHEMA nella colonna bi_engine_statistics. Ad esempio, questa query restituisce il valore 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 visualizzazione INFORMATION_SCHEMA:

`PROJECT_ID`.`region-REGION_NAME`.INFORMATION_SCHEMA.VIEW

Visualizzare i dettagli dello schema delle informazioni di Looker Studio

Puoi monitorare quali report e origini dati di Looker Studio vengono utilizzati da BigQuery visualizzando la visualizzazione INFORMATION_SCHEMA.JOBS. Ogni query di Looker Studio in BigQuery crea una voce con le etichette report_id e datasource_id. Questi ID vengono visualizzati alla fine dell'URL di Looker Studio quando apri una pagina di report o di origine dati. Ad esempio, un report con URL https://lookerstudio.google.com/navigation/reporting/my-report-id-123 ha un ID report "my-report-id-123".

Gli esempi riportati di seguito mostrano come visualizzare report e origini dati:

Trovare l'URL del report e dell'origine dati per ogni job BigQuery di 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;

Visualizzare i job prodotti utilizzando un report e un'origine dati

-- 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'accelerazione di BI Engine fa parte dell'elaborazione dei job BigQuery. Per ispezionare i job BigQuery per un progetto specifico, consulta la pagina Cloud Logging con un payload di protoPayload.serviceName="bigquery.googleapis.com".

Passaggi successivi