Vista JOBS_TIMELINE_BY_FOLDER
La vista INFORMATION_SCHEMA.JOBS_TIMELINE_BY_FOLDER
contiene metadatos de BigQuery casi en tiempo real por segmento temporal de todos los trabajos enviados en la carpeta principal del proyecto actual, incluidos los trabajos de las subcarpetas.
Esta vista contiene tanto los trabajos en curso como los completados.
Permisos obligatorios
Para consultar la vista INFORMATION_SCHEMA.JOBS_TIMELINE_BY_FOLDER
, necesitas el permiso bigquery.jobs.listAll
de gestión de identidades y accesos (IAM) del elemento superior. Cada uno de los siguientes roles de gestión de identidades y accesos predefinidos incluye el permiso necesario:
- Administrador de carpetas
- Administrador de BigQuery
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 vistas INFORMATION_SCHEMA.JOBS_TIMELINE_BY_*
, los resultados de la consulta contienen una fila por cada segundo de ejecución de cada tarea de BigQuery. Cada periodo empieza en un intervalo de un segundo y dura exactamente un segundo.
La vista INFORMATION_SCHEMA.JOBS_TIMELINE_BY_*
tiene el siguiente esquema:
Nombre de la columna | Tipo de datos | Valor |
---|---|---|
period_start |
TIMESTAMP |
Hora de inicio de este periodo. |
period_slot_ms |
INTEGER |
Milisegundos de ranura consumidos en este periodo. |
project_id |
STRING |
ID del proyecto(columna de clustering). |
project_number |
INTEGER |
Número del proyecto. |
folder_numbers |
REPEATED INTEGER |
Los IDs numéricos de las carpetas que contienen el proyecto, empezando por la carpeta que contiene directamente el proyecto, seguida de la carpeta que contiene la carpeta secundaria, y así sucesivamente. Por ejemplo, si `folder_numbers` es `[1, 2, 3]`, la carpeta `1` contiene inmediatamente el proyecto, la carpeta `2` contiene la carpeta `1` y la carpeta `3` contiene la carpeta `2`. |
user_email |
STRING |
(Columna de clustering) Dirección de correo o cuenta de servicio del usuario que ha ejecutado el trabajo. |
job_id |
STRING |
ID del trabajo. Por ejemplo, bquxjob_1234 . |
job_type |
STRING |
El tipo de trabajo. Puede ser QUERY , LOAD ,
EXTRACT , COPY o null . El tipo de tarea null indica una tarea interna, como la evaluación de una instrucción de una tarea de secuencia de comandos o la actualización de una vista materializada. |
statement_type |
STRING |
El tipo de instrucción de consulta, si es válida. Por ejemplo, SELECT , INSERT , UPDATE o DELETE . |
priority |
STRING |
La prioridad de este trabajo. Los valores válidos son INTERACTIVE y BATCH . |
parent_job_id |
STRING |
ID del trabajo principal (si lo hay). |
job_creation_time |
TIMESTAMP |
(Columna de partición) Hora de creación de este trabajo. La partición se basa en la hora UTC de esta marca de tiempo. |
job_start_time |
TIMESTAMP |
Hora de inicio de este trabajo. |
job_end_time |
TIMESTAMP |
Hora de finalización de este trabajo. |
state |
STRING |
Estado de ejecución del trabajo al final de este periodo. Los estados válidos son PENDING , RUNNING y DONE . |
reservation_id |
STRING |
Nombre de la reserva principal asignada a este trabajo al final de este periodo, si procede. |
edition |
STRING |
Edición asociada a la reserva asignada a este trabajo. Para obtener más información sobre las ediciones, consulta Introducción a las ediciones de BigQuery. |
total_bytes_billed |
INTEGER |
Si el proyecto está configurado para usar los precios bajo demanda, este campo contiene el total de bytes facturados por la tarea. Si el proyecto está configurado para usar precios de tarifa plana, no se te cobrarán los bytes y este campo solo tiene carácter informativo. |
total_bytes_processed |
INTEGER |
Total de bytes procesados por el trabajo. |
error_result |
RECORD |
Detalles del error (si procede) como
ErrorProto.
|
cache_hit |
BOOLEAN |
Indica si los resultados de la consulta de este trabajo procedían de una caché. |
period_shuffle_ram_usage_ratio |
FLOAT |
Ratio de uso de la aleatorización en el periodo seleccionado. |
period_estimated_runnable_units |
INTEGER |
Unidades de trabajo que se pueden programar inmediatamente en este periodo. Los slots adicionales para estas unidades de trabajo aceleran tu consulta, siempre que ninguna otra consulta de la reserva necesite slots adicionales. |
transaction_id |
STRING |
ID de la transacción en la que se ha ejecutado este trabajo (si la hay). Vista previa |
Conservación de datos
Esta vista contiene los trabajos que se están ejecutando y el historial 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.JOBS_TIMELINE_BY_FOLDER |
Nivel de proyecto | 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`
.
Ejemplos
En los siguientes ejemplos se muestra cómo consultar la vista INFORMATION_SCHEMA.JOBS_TIMELINE_BY_FOLDER
.
Obtener el número de tareas únicas
La siguiente consulta muestra el número de trabajos únicos que se ejecutan por minuto en la carpeta del proyecto designado:
SELECT TIMESTAMP_TRUNC(period_start, MINUTE) AS per_start, COUNT(DISTINCT job_id) AS unique_jobs FROM `region-us`.INFORMATION_SCHEMA.JOBS_TIMELINE_BY_FOLDER, UNNEST(folder_numbers) f WHERE my_folder_number = f GROUP BY per_start ORDER BY per_start DESC;
El resultado es similar al siguiente:
+---------------------------+---------------------------------+ | per_start | unique_jobs | +---------------------------+---------------------------------+ | 2019-10-10 00:04:00 UTC | 5 | | 2019-10-10 00:03:00 UTC | 2 | | 2019-10-10 00:02:00 UTC | 3 | | 2019-10-10 00:01:00 UTC | 4 | | 2019-10-10 00:00:00 UTC | 4 | +---------------------------+---------------------------------+
Calcular el tiempo de ranura utilizado
La siguiente consulta muestra el tiempo de ranura utilizado por minuto en la carpeta del proyecto designado:
SELECT TIMESTAMP_TRUNC(period_start, MINUTE) AS per_start, SUM(period_slot_ms) AS slot_ms FROM `region-us`.INFORMATION_SCHEMA.JOBS_TIMELINE_BY_FOLDER, UNNEST(folder_numbers) f WHERE my_folder_number = f AND reservation_id = "my reservation id" AND statement_type != "SCRIPT" GROUP BY per_start ORDER BY per_start DESC;
El resultado es similar al siguiente:
+---------------------------+---------------------------------+ | per_start | slot_ms | +---------------------------+---------------------------------+ | 2019-10-10 00:04:00 UTC | 500 | | 2019-10-10 00:03:00 UTC | 1000 | | 2019-10-10 00:02:00 UTC | 3000 | | 2019-10-10 00:01:00 UTC | 4000 | | 2019-10-10 00:00:00 UTC | 4000 | +---------------------------+---------------------------------+