Monitorize o BI Engine

O BigQuery BI Engine acelera o BigQuery para cenários de BI através da cache de memória e de uma execução mais rápida. Pode monitorizar os detalhes da aceleração através de INFORMATION_SCHEMA e métricas do Cloud Monitoring.

Cloud Monitoring

Pode monitorizar e configurar alertas para o BigQuery BI Engine com o Cloud Monitoring. Para saber como criar um painel de controlo para métricas do BI Engine, consulte o artigo Criar gráficos.

As seguintes métricas são fornecidas para o BigQuery BI Engine:

Recurso Métrica Detalhes
Projeto do BigQuery Total de bytes da reserva Capacidade total atribuída a um Google Cloud projeto
Projeto do BigQuery Bytes usados da reserva Capacidade total usada num Google Cloud projeto
Projeto do BigQuery BI Engine Top Tables Cached Bytes Utilização da cache por tabela. Esta métrica apresenta as principais tabelas N por utilização de relatórios de regiões.

Estatísticas de consultas para o BI Engine

Esta secção explica como encontrar estatísticas de consultas para ajudar a monitorizar, diagnosticar e resolver problemas de utilização do BI Engine.

Modos de aceleração do BI Engine

Com a aceleração do BI Engine ativada, a sua consulta pode ser executada num destes quatro modos:

BI_ENGINE_DISABLED
O BI Engine desativou a aceleração. biEngineReasons especifica um motivo mais detalhado. A consulta foi executada através do motor de execução do BigQuery.
PARTIAL_INPUT
Parte da entrada da consulta foi acelerada através do BI Engine. Conforme descrito em Otimização e aceleração de consultas, um plano de consulta é geralmente dividido em várias fases de entrada. O BI Engine suporta os tipos comuns de padrões de subconsultas que são normalmente usados na criação de painéis de controlo. Se a consulta consistir em várias fases de entrada, das quais apenas algumas se enquadram nos exemplos de utilização suportados, o BI Engine executa as fases não suportadas através do motor do BigQuery normal sem aceleração. Nesta situação, o BI Engine devolve um código de aceleração PARTIAL e usa biEngineReasons para preencher o motivo pelo qual não acelera outras fases de entrada.
 FULL_INPUT
 
Todas as fases de entrada da consulta foram aceleradas através do BI Engine. Os dados em cache são reutilizados em várias consultas e a computação que se segue imediatamente após a leitura dos dados é acelerada.
 FULL_QUERY
 
Toda a consulta foi acelerada através do BI Engine.

Veja estatísticas de tarefas da API BigQuery

As estatísticas detalhadas sobre o BI Engine estão disponíveis através da API BigQuery.

Para obter as estatísticas associadas a consultas aceleradas pelo BI Engine, execute o seguinte comando da ferramenta de linhas de comando bq:

bq show --format=prettyjson -j job_id

Se o projeto estiver ativado para a aceleração do BI Engine, o resultado produz um novo campo, biEngineStatistics. Segue-se um exemplo de um relatório de tarefa:

 "statistics": {
    "creationTime": "1602175128902",
    "endTime": "1602175130700",
    "query": {
      "biEngineStatistics": {
        "biEngineMode": "DISABLED",
        "biEngineReasons": [
          {
            "code": "UNSUPPORTED_SQL_TEXT",
            "message": "Detected unsupported join type"
          }
        ]
      },

Para mais informações sobre o campo BiEngineStatistics, consulte o artigo Referência da tarefa.

Estatísticas do esquema de informações do BigQuery

As estatísticas de aceleração do BI Engine estão incluídas nas visualizações do BigQuery INFORMATION_SCHEMA como parte das visualizações INFORMATION_SCHEMA.JOBS_BY_* na coluna bi_engine_statistics. Por exemplo, esta consulta devolve o bi_engine_statistics para todas as tarefas dos projetos atuais nas últimas 24 horas:

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"

Use o seguinte formato para especificar a regionalidade para os campos project-id, region e views na vista INFORMATION_SCHEMA:

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

Veja detalhes do esquema de informações do Looker Studio

Pode acompanhar os relatórios e as origens de dados do Looker Studio usados pelo BigQuery através da INFORMATION_SCHEMA.JOBS vista. Cada consulta do Looker Studio no BigQuery cria uma entrada com as etiquetas report_id e datasource_id. Esses IDs aparecem no final do URL do Looker Studio quando abre um relatório ou uma página de origem de dados. Por exemplo, um relatório com o URL https://lookerstudio.google.com/navigation/reporting/my-report-id-123 tem um ID do relatório de "my-report-id-123".

Os exemplos seguintes mostram como ver relatórios e origens de dados:

Encontre o URL do relatório e da origem de dados para cada tarefa do BigQuery do 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;

Veja tarefas produzidas através da utilização de um relatório e uma origem de dados

-- 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

A aceleração do BI Engine faz parte do processamento de tarefas do BigQuery. Para inspecionar tarefas do BigQuery para um projeto específico, consulte a página do Cloud Logging com um payload de protoPayload.serviceName="bigquery.googleapis.com".

O que se segue?