Monitorizar BI Engine

BigQuery BI Engine acelera BigQuery en escenarios de BI mediante la caché de memoria y una ejecución más rápida. Los detalles de la aceleración se pueden monitorizar mediante INFORMATION_SCHEMA y métricas de Cloud Monitoring.

Cloud Monitoring

Puede monitorizar y configurar alertas para BigQuery BI Engine con Cloud Monitoring. Para saber cómo crear un panel de control para las métricas de BI Engine, consulta Crear gráficos.

Se proporcionan las siguientes métricas de BigQuery BI Engine:

Recurso Métrica Detalles
Proyecto de BigQuery Bytes totales reservados Capacidad total asignada a un Google Cloud proyecto
Proyecto de BigQuery Bytes usados de la reserva Capacidad total usada en un Google Cloud proyecto
Proyecto de BigQuery Bytes en caché de las tablas principales de BI Engine Uso de la caché por tabla. Esta métrica muestra las N tablas principales por uso de informes de regiones.

Estadísticas de consultas de BI Engine

En esta sección se explica cómo encontrar estadísticas de consultas para monitorizar, diagnosticar y solucionar problemas relacionados con el uso de BI Engine.

Modos de aceleración de BI Engine

Si la aceleración de BI Engine está habilitada, tu consulta se puede ejecutar en cualquiera de estos cuatro modos:

BI_ENGINE_DISABLED
BI Engine ha inhabilitado la aceleración. biEngineReasons especifica un motivo más detallado. La consulta se ha ejecutado con el motor de ejecución de BigQuery.
PARTIAL_INPUT
Parte de la entrada de la consulta se ha acelerado con BI Engine. Como se describe en Optimización y aceleración de consultas, un plan de consulta se desglosa en varias fases de entrada. BI Engine admite los tipos comunes de patrones de subconsultas que se suelen usar en los paneles de control. Si la consulta consta de varias fases de entrada, de las cuales solo unas pocas se corresponden con los casos prácticos admitidos, BI Engine ejecuta las fases no admitidas con el motor normal de BigQuery sin aceleración. En esta situación, BI Engine devuelve un código de aceleración PARTIAL y usa biEngineReasons para rellenar el motivo por el que no se aceleran otras fases de entrada.
 FULL_INPUT
 
Todas las fases de entrada de la consulta se han acelerado con BI Engine. Los datos almacenados en caché se reutilizan en las consultas y se acelera el cálculo que se realiza inmediatamente después de leer los datos.
 FULL_QUERY
 
Toda la consulta se ha acelerado con BI Engine.

Ver estadísticas de tareas de la API de BigQuery

Las estadísticas detalladas de BI Engine están disponibles a través de la API de BigQuery.

Para obtener las estadísticas asociadas a las consultas aceleradas por BI Engine, ejecuta el siguiente comando de la herramienta de línea de comandos bq:

bq show --format=prettyjson -j job_id

Si el proyecto tiene habilitada la aceleración de BI Engine, la salida genera un nuevo campo, biEngineStatistics. Aquí tienes un informe de ejemplo:

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

Para obtener más información sobre el campo BiEngineStatistics, consulta Referencia de trabajo.

Estadísticas del Information Schema de BigQuery

Las estadísticas de aceleración de BI Engine se incluyen en las vistas de BigQuery INFORMATION_SCHEMA como parte de las vistas de INFORMATION_SCHEMA.JOBS_BY_* en la columna bi_engine_statistics. Por ejemplo, esta consulta devuelve el bi_engine_statistics de todos los trabajos de los proyectos actuales de las ú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"

Utiliza el siguiente formato para especificar la regionalidad de project-id, region y views en la vista INFORMATION_SCHEMA:

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

Ver los detalles del esquema de información de Looker Studio

Para saber qué informes y fuentes de datos de Looker Studio usa BigQuery, consulta la INFORMATION_SCHEMA.JOBS vista. Cada consulta de Looker Studio en BigQuery crea una entrada con las etiquetas report_id y datasource_id. Estos IDs aparecen al final de la URL de Looker Studio cuando se abre un informe o una página de fuente de datos. Por ejemplo, un informe con la URL https://lookerstudio.google.com/navigation/reporting/my-report-id-123 tiene el ID "my-report-id-123".

En los siguientes ejemplos se muestra cómo ver informes y fuentes de datos:

Buscar la URL del informe y de la fuente de datos de cada trabajo de BigQuery de 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 los trabajos creados mediante un informe y una fuente de datos

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

La aceleración de BI Engine forma parte del procesamiento de trabajos de BigQuery. Para inspeccionar las tareas de BigQuery de un proyecto específico, consulta la página Cloud Logging con una carga útil de protoPayload.serviceName="bigquery.googleapis.com".

Siguientes pasos