Vista STREAMING_TIMELINE_BY_FOLDER
La vista INFORMATION_SCHEMA.STREAMING_TIMELINE_BY_FOLDER
contiene estadísticas de streaming agregadas por minuto de la carpeta superior del proyecto actual, incluidas sus subcarpetas.
Puedes consultar las INFORMATION_SCHEMA
vistas de streaming
para obtener información histórica y en tiempo real sobre los datos de streaming en
BigQuery que usan el tabledata.insertAll
método
antiguo y no la API Storage Write de BigQuery. Para obtener más información sobre la transmisión de datos a BigQuery, consulta el artículo Transmitir datos a BigQuery.
Permiso obligatorio
Para consultar la vista INFORMATION_SCHEMA.STREAMING_TIMELINE_BY_FOLDER
, necesita el permiso bigquery.tables.list
de gestión de identidades y accesos (IAM) de la carpeta principal del proyecto.
Cada uno de los siguientes roles de gestión de identidades y accesos predefinidos incluye el permiso anterior:
roles/bigquery.admin
roles/bigquery.user
roles/bigquery.dataViewer
roles/bigquery.dataEditor
roles/bigquery.dataOwner
roles/bigquery.metadataViewer
roles/bigquery.resourceAdmin
Para obtener más información sobre los permisos de BigQuery, consulta Control de acceso con gestión de identidades y accesos.
Esquema
Cuando consultas las INFORMATION_SCHEMA
vistas de streaming, los resultados de la consulta contienen información histórica y en tiempo real sobre los datos de streaming en BigQuery. Cada fila de las siguientes vistas representa estadísticas de la transmisión a una tabla específica, agregadas en un intervalo de un minuto que empieza a las start_timestamp
. Las estadísticas se agrupan por código de error, por lo que habrá una fila por cada código de error detectado durante el intervalo de un minuto para cada combinación de marca de tiempo y tabla. Las solicitudes correctas tienen el código de error NULL
. Si no se han transmitido datos a una tabla durante un periodo determinado, no habrá filas con las marcas de tiempo correspondientes en esa tabla.
Las vistas de INFORMATION_SCHEMA.STREAMING_TIMELINE_BY_*
tienen el siguiente esquema:
Nombre de la columna | Tipo de datos | Valor |
---|---|---|
start_timestamp |
TIMESTAMP |
Marca de tiempo de inicio del intervalo de 1 minuto de las estadísticas agregadas.(Columna de partición) |
project_id |
STRING |
ID del proyecto(columna de clustering). |
project_number |
INTEGER |
Número del proyecto. |
dataset_id |
STRING |
ID de la columna de clustering del conjunto de datos. |
table_id |
STRING |
ID de la columna de clustering de la tabla. |
error_code |
STRING |
Código de error devuelto para las solicitudes especificadas en esta fila. NULL para solicitudes correctas. |
total_requests |
INTEGER |
Número total de solicitudes en el intervalo de 1 minuto. |
total_rows |
INTEGER |
Número total de filas de todas las solicitudes del intervalo de 1 minuto. |
total_input_bytes |
INTEGER |
Número total de bytes de todas las filas del intervalo de 1 minuto. |
Conservación de datos
Esta vista contiene el historial de streaming de los últimos 180 días.
Ámbito y sintaxis
Las consultas en esta vista deben incluir un calificador de región. Si no especifica un calificador regional, los metadatos se recuperan de todas las regiones. En la siguiente tabla se explica el ámbito de la región de esta vista:
Nombre de la vista | Ámbito de los recursos | Ámbito de la región |
---|---|---|
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.STREAMING_TIMELINE_BY_FOLDER |
Carpeta que contiene el proyecto especificado | REGION |
-
Opcional:
PROJECT_ID
: el ID de tu Google Cloud proyecto. Si no se especifica, se usa el proyecto predeterminado. -
REGION
: cualquier nombre de región del conjunto de datos. Por ejemplo,`region-us`
.
Ejemplo
- Para consultar datos en la multirregión de EE. UU., usa
region-us.INFORMATION_SCHEMA.STREAMING_TIMELINE_BY_FOLDER
- Para consultar datos en la multirregión de la UE, usa
region-eu.INFORMATION_SCHEMA.STREAMING_TIMELINE_BY_FOLDER
- Para consultar datos de la región asia-northeast1, usa
region-asia-northeast1.INFORMATION_SCHEMA.STREAMING_TIMELINE_BY_FOLDER
Para ver una lista de las regiones disponibles, consulta Ubicaciones de conjuntos de datos.
Ejemplos
Ejemplo 1: Errores de streaming recientes
En el siguiente ejemplo se calcula el desglose por minuto del total de solicitudes fallidas de todas las tablas de la carpeta del proyecto en los últimos 30 minutos, desglosado por código de error:
SELECT start_timestamp, error_code, SUM(total_requests) AS num_failed_requests FROM `region-us`.INFORMATION_SCHEMA.STREAMING_TIMELINE_BY_FOLDER WHERE error_code IS NOT NULL AND start_timestamp > TIMESTAMP_SUB(CURRENT_TIMESTAMP, INTERVAL 30 MINUTE) GROUP BY start_timestamp, error_code ORDER BY start_timestamp DESC;
El resultado es similar al siguiente:
+---------------------+------------------+---------------------+ | start_timestamp | error_code | num_failed_requests | +---------------------+------------------+---------------------+ | 2020-04-15 20:55:00 | INTERNAL_ERROR | 41 | | 2020-04-15 20:41:00 | CONNECTION_ERROR | 5 | | 2020-04-15 20:30:00 | INTERNAL_ERROR | 115 | +---------------------+------------------+---------------------+
Ejemplo 2: Desglose por minuto de todas las solicitudes con códigos de error
En el siguiente ejemplo se calcula un desglose por minuto de las solicitudes de streaming correctas y fallidas de la carpeta del proyecto, divididas en categorías de códigos de error. Esta consulta se puede usar para rellenar un panel de control.
SELECT start_timestamp, SUM(total_requests) AS total_requests, SUM(total_rows) AS total_rows, SUM(total_input_bytes) AS total_input_bytes, SUM( IF( error_code IN ('QUOTA_EXCEEDED', 'RATE_LIMIT_EXCEEDED'), total_requests, 0)) AS quota_error, SUM( IF( error_code IN ( 'INVALID_VALUE', 'NOT_FOUND', 'SCHEMA_INCOMPATIBLE', 'BILLING_NOT_ENABLED', 'ACCESS_DENIED', 'UNAUTHENTICATED'), total_requests, 0)) AS user_error, SUM( IF( error_code IN ('CONNECTION_ERROR','INTERNAL_ERROR'), total_requests, 0)) AS server_error, SUM(IF(error_code IS NULL, 0, total_requests)) AS total_error, FROM `region-us`.INFORMATION_SCHEMA.STREAMING_TIMELINE_BY_FOLDER GROUP BY start_timestamp ORDER BY start_timestamp DESC;
El resultado es similar al siguiente:
+---------------------+----------------+------------+-------------------+-------------+------------+--------------+-------------+ | start_timestamp | total_requests | total_rows | total_input_bytes | quota_error | user_error | server_error | total_error | +---------------------+----------------+------------+-------------------+-------------+------------+--------------+-------------+ | 2020-04-15 22:00:00 | 441854 | 441854 | 23784853118 | 0 | 0 | 17 | 17 | | 2020-04-15 21:59:00 | 355627 | 355627 | 26101982742 | 5 | 8 | 0 | 13 | | 2020-04-15 21:58:00 | 354603 | 354603 | 26160565341 | 0 | 0 | 0 | 0 | | 2020-04-15 21:57:00 | 298823 | 298823 | 23877821442 | 0 | 2 | 0 | 2 | +---------------------+----------------+------------+-------------------+-------------+------------+--------------+-------------+
Ejemplo 3: Tablas con el tráfico entrante más alto
En el siguiente ejemplo se devuelven las estadísticas de streaming de las 10 tablas de la carpeta del proyecto con más tráfico entrante:
SELECT project_id, dataset_id, table_id, SUM(total_rows) AS num_rows, SUM(total_input_bytes) AS num_bytes, SUM(total_requests) AS num_requests FROM `region-us`.INFORMATION_SCHEMA.STREAMING_TIMELINE_BY_FOLDER GROUP BY project_id, dataset_id, table_id ORDER BY num_bytes DESC LIMIT 10;
El resultado es similar al siguiente:
+----------------------+------------+-------------------------------+------------+----------------+--------------+ | project_id | dataset_id | table_id | num_rows | num_bytes | num_requests | +----------------------+------------+-------------------------------+------------+----------------+--------------+ | my-project1 | dataset1 | table1 | 8016725532 | 73787301876979 | 8016725532 | | my-project2 | dataset1 | table2 | 26319580 | 34199853725409 | 26319580 | | my-project1 | dataset2 | table1 | 38355294 | 22879180658120 | 38355294 | | my-project3 | dataset1 | table3 | 270126906 | 17594235226765 | 270126906 | | my-project2 | dataset2 | table2 | 95511309 | 17376036299631 | 95511309 | | my-project2 | dataset2 | table3 | 46500443 | 12834920497777 | 46500443 | | my-project3 | dataset2 | table4 | 25846270 | 7487917957360 | 25846270 | | my-project4 | dataset1 | table4 | 18318404 | 5665113765882 | 18318404 | | my-project4 | dataset1 | table5 | 42829431 | 5343969665771 | 42829431 | | my-project4 | dataset1 | table6 | 8771021 | 5119004622353 | 8771021 | +----------------------+------------+-------------------------------+------------+----------------+--------------+