Supervisa BI Engine

BigQuery BI Engine acelera BigQuery para situaciones de IE con el almacenamiento en caché de la memoria y una ejecución más rápida. Los detalles de la aceleración se pueden supervisar con INFORMATION_SCHEMA y las métricas de Cloud Monitoring.

Cloud Monitoring

Puedes supervisar y configurar alertas para BigQuery BI Engine con Cloud Monitoring. Para aprender a crear paneles para las métricas de BI Engine, consulta Crear gráficos.

Las siguientes métricas se proporcionan para BigQuery BI Engine:

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

Estadísticas de consultas para BI Engine

En esta sección, se explica cómo encontrar estadísticas de consultas para ayudar a supervisar, diagnosticar y solucionar problemas del uso de BI Engine.

Modos de aceleración de BI Engine

Con la aceleración de BI Engine habilitada, tu consulta puede ejecutarse en cualquiera de estos cuatro modos:

BI_ENGINE_DISABLED
BI Engine inhabilitó la aceleración. biEngineReasons especifica un motivo más detallado. La consulta se ejecutó con el motor de ejecución de BigQuery.
PARTIAL_INPUT
Parte de la entrada de la consulta se aceleró mediante BI Engine. Como se describe en Optimización y aceleración de consultas, un plan de consultas suele dividirse en varias etapas de entrada. BI Engine admite los tipos comunes de patrones de subconsulta que se suelen usar en los paneles. Si la consulta consta de varias etapas de entrada, de las cuales solo algunas se incluyen en los casos de uso compatibles, BI Engine ejecuta las etapas no compatibles con el motor de BigQuery normal sin aceleración. En esta situación, BI Engine muestra un código de aceleración PARTIAL y usa biEngineReasons para propagar el motivo por el que no se aceleran otras etapas de entrada.
 FULL_INPUT
 
Todas las etapas de entrada de la consulta se aceleraron mediante BI Engine. Los datos almacenados en caché se reutilizan en todas las consultas, y se acelera el procesamiento que se realiza inmediatamente después de leer los datos.
 FULL_QUERY
 
Toda la consulta se aceleró mediante BI Engine.

Visualiza las estadísticas de los trabajos de la API de BigQuery

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

Para recuperar las estadísticas asociadas con las consultas aceleradas mediante BI Engine, ejecuta el siguiente comando de la herramienta de línea de comandos de bq:

bq show --format=prettyjson -j job_id

Si el proyecto está habilitado para la aceleración de BI Engine, el resultado produce un nuevo campo, biEngineStatistics. A continuación, se muestra un informe de trabajo de muestra:

 "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 la referencia de trabajos.

Estadísticas del esquema de información de BigQuery

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

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

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

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

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

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

Busca la URL del informe y de la fuente de datos para 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;

Visualiza los trabajos producidos usando 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 los trabajos de BigQuery de un proyecto específico, consulta la página Cloud Logging con una carga útil de protoPayload.serviceName="bigquery.googleapis.com".

¿Qué sigue?