Monitorar o BI Engine
O BigQuery BI Engine acelera os cenários do BigQuery para BI usando cache de memória e execução mais rápida. Os detalhes da aceleração podem ser monitorados usando INFORMATION_SCHEMA e métricas do Cloud Monitoring.
Cloud Monitoring
É possível monitorar e configurar alertas para o BigQuery BI Engine com o Cloud Monitoring. Para saber como criar painéis para métricas do BI Engine, consulte Como 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 alocada para um projeto do Google Cloud |
Projeto do BigQuery | Bytes de reserva usados | Capacidade total usada em um projeto do Google Cloud |
Projeto do BigQuery | Bytes em cache das principais tabelas do BI Engine | Uso do cache por tabela. Essa métrica exibe as N principais tabelas por uso de relatórios de região. |
Estatísticas de consulta para o BI Engine
Nesta seção, explicamos como encontrar estatísticas de consulta para ajudar a monitorar, diagnosticar e resolver problemas de uso do BI Engine.
Modos de aceleração do BI Engine
Com a aceleração do BI Engine ativada, sua consulta pode ser executada em qualquer um destes três modos:
BI_ENGINE_DISABLED |
O BI Engine desativou a aceleração.
biEngineReasons especifica um motivo mais detalhado. A consulta foi
executada usando o mecanismo de execução do BigQuery. |
PARTIAL_INPUT |
Parte da consulta foi acelerada usando o BI Engine. Conforme
descrito em
Otimização e aceleração de consultas, um plano de consulta geralmente é dividido
em vários estágios de entrada. O BI Engine é compatível com os tipos comuns
de padrões de subconsulta que normalmente são usados no painel. Se a consulta
consistir em vários estágios de entrada, e apenas alguns deles se enquadrarem nos
casos de uso compatíveis, o BI Engine executa os estágios não compatíveis
usando o mecanismo normal do BigQuery sem aceleração. Nessa situação, o BI Engine retorna um código de aceleração
PARTIAL e usa biEngineReasons para preencher o motivo
para não acelerar outros estágios de entrada. |
FULL_INPUT |
Todos os estágios de entrada da consulta foram acelerados usando o BI Engine. Os dados armazenados em cache são reutilizados em consultas, e a computação que ocorre imediatamente após a leitura dos dados é acelerada. |
FULL_QUERY |
Toda a consulta foi acelerada usando o BI Engine. |
Conferir estatísticas de jobs da API BigQuery
Estatísticas detalhadas sobre o BI Engine estão disponíveis na API BigQuery.
Para buscar as estatísticas associadas às consultas aceleradas do BI Engine, execute o seguinte comando da ferramenta de linha de comando:
bq show --format=prettyjson -j job_id
Se o projeto estiver ativado para aceleração do BI Engine, a
saída produzirá um novo campo, biEngineStatistics
. Confira um exemplo de relatório
de job:
"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 a
referência do job.
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 retorna a bi_engine_statistics
de todos os
jobs 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 de
project-id
, region
e views
na visualização INFORMATION_SCHEMA
:
`PROJECT_ID`.`region-REGION_NAME`.INFORMATION_SCHEMA.VIEW
Visualizar detalhes do esquema de informações do Looker Studio
Para acompanhar quais relatórios e fontes de dados do Looker Studio são
usados pelo BigQuery, confira a visualização INFORMATION_SCHEMA.JOBS
. Cada consulta do Looker Studio no BigQuery cria uma entrada com os rótulos report_id
e datasource_id
. Esses IDs aparecem no final do
URL do Looker Studio ao abrir um relatório ou a página de uma fonte de dados.
Por exemplo, um relatório com o URL
https://lookerstudio.google.com/navigation/reporting/my-report-id-123
tem o
ID "my-report-id-123"
.
Os exemplos a seguir mostram como ver relatórios e fontes de dados:
Encontrar o URL do relatório e da fonte de dados de cada job do BigQuery no 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;
Ver jobs produzidos usando um relatório e uma fonte 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 jobs do BigQuery. Para inspecionar jobs do BigQuery em um projeto específico,
consulte a página do Cloud Logging com um payload de
protoPayload.serviceName="bigquery.googleapis.com"
.
A seguir
- Saiba mais sobre o Cloud Monitoring.
- Saiba mais sobre os gráficos do Monitoring.
- Saiba mais sobre os alertas do Monitoring.
- Saiba mais sobre o Cloud Logging.