Vista JOBS_BY_ORGANIZATION

La vista INFORMATION_SCHEMA.JOBS_BY_ORGANIZATION contiene metadatos casi en tiempo real sobre todos los trabajos enviados en la organización asociada al proyecto actual.

Rol necesario

Para obtener el permiso que necesitas para consultar la vista INFORMATION_SCHEMA.JOBS_BY_ORGANIZATION, pide a tu administrador que te asigne el rol de gestión de identidades y accesos Lector de recursos de BigQuery (roles/bigquery.resourceViewer) en tu organización. Para obtener más información sobre cómo conceder roles, consulta el artículo Gestionar acceso a proyectos, carpetas y organizaciones.

Este rol predefinido contiene el permiso bigquery.jobs.listAll INFORMATION_SCHEMA.JOBS_BY_ORGANIZATION, que es necesario para consultar la vista bigquery.jobs.listAll INFORMATION_SCHEMA.JOBS_BY_ORGANIZATION.

También puedes obtener este permiso con roles personalizados u otros roles predefinidos.

La tabla de esquemas solo está disponible para los usuarios con organizaciones definidas. Google Cloud

Para obtener más información sobre los permisos de BigQuery, consulta Control de acceso con gestión de identidades y accesos.

Esquema

Los datos subyacentes se particionan por la columna creation_time y se agrupan en clústeres por project_id y user_email. La columna query_info contiene información adicional sobre los trabajos de consulta.

La vista INFORMATION_SCHEMA.JOBS_BY_ORGANIZATION tiene el siguiente esquema:

Nombre de la columna Data type (Dato) Valor
bi_engine_statistics RECORD Si el proyecto está configurado para usar BI Engine, este campo contiene BiEngineStatistics. De lo contrario, NULL.
cache_hit BOOLEAN Indica si los resultados de la consulta de este trabajo procedían de una caché. Si tienes un trabajo de consulta múltiple, el cache_hit de tu consulta principal es NULL.
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.
destination_table RECORD Tabla de destino de los resultados (si corresponde).
end_time TIMESTAMP Hora de finalización de este trabajo, en milisegundos desde el inicio del registro de tiempo. Este campo representa la hora en la que el trabajo pasa al estado DONE.
error_result RECORD Detalles de los errores como objetos ErrorProto.
folder_numbers REPEATED INTEGER 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 1 y la carpeta 3 contiene 2. Esta columna solo se rellena en JOBS_BY_FOLDER.
job_creation_reason.code STRING Especifica el motivo general por el que se ha creado un trabajo.
Los valores posibles son:
  • REQUESTED: se ha solicitado la creación de un trabajo.
  • LONG_RUNNING: la solicitud de consulta ha superado el tiempo de espera definido por el sistema especificado por el campo timeoutMs en QueryRequest. Por lo tanto, se consideró una operación de larga duración para la que se creó un trabajo.
  • LARGE_RESULTS: los resultados de la consulta no caben en la respuesta insertada.
  • OTHER: el sistema ha determinado que la consulta debe ejecutarse como un trabajo.
job_id STRING El ID del trabajo si se ha creado uno. De lo contrario, el ID de consulta de una consulta que usa el modo de creación de tareas opcional. Por ejemplo, bquxjob_1234.
job_stages RECORD Fases de la consulta de la tarea.

Nota: Los valores de esta columna están vacíos en las consultas que leen datos de tablas con políticas de acceso a nivel de fila. Para obtener más información, consulta las prácticas recomendadas para la seguridad a nivel de fila en BigQuery.

job_type STRING El tipo de trabajo. Puede ser QUERY, LOAD, EXTRACT, COPY o NULL. Un valor NULL indica un trabajo en segundo plano.
labels RECORD Matriz de etiquetas aplicadas al trabajo como pares clave-valor.
parent_job_id STRING ID del trabajo principal (si lo hay).
priority STRING La prioridad de este trabajo. Los valores válidos son INTERACTIVE y BATCH.
project_id STRING Columna de clustering: el ID del proyecto.
project_number INTEGER El número del proyecto.
referenced_tables RECORD Matriz de tablas a las que hace referencia la tarea. Solo se rellena en el caso de los trabajos de consulta que no son aciertos de caché.
reservation_id STRING Nombre de la reserva principal asignada a este trabajo, con el formato RESERVATION_ADMIN_PROJECT:RESERVATION_LOCATION.RESERVATION_NAME.
En este resultado:
  • RESERVATION_ADMIN_PROJECT: el nombre del proyecto de Google Cloud que administra la reserva
  • RESERVATION_LOCATION: la ubicación de la reserva
  • RESERVATION_NAME: el nombre de la reserva
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.
session_info RECORD Detalles sobre la sesión en la que se ejecutó este trabajo, si procede.
start_time TIMESTAMP Hora de inicio de este trabajo, en milisegundos desde el inicio del registro de tiempo. Este campo representa la hora en la que la tarea pasa del estado PENDING a RUNNING o DONE.
state STRING Estado de ejecución del trabajo. Los estados válidos son PENDING, RUNNING y DONE.
statement_type STRING El tipo de instrucción de consulta. Por ejemplo, DELETE, INSERT, SCRIPT, SELECT o UPDATE. Consulta QueryStatementType para ver una lista de valores válidos.
timeline RECORD Cronología de la consulta de la tarea. Contiene instantáneas de la ejecución de consultas.
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.

Nota: Los valores de esta columna están vacíos en las consultas que leen datos de tablas con políticas de acceso a nivel de fila. Para obtener más información, consulta las prácticas recomendadas para la seguridad a nivel de fila en BigQuery.

total_bytes_processed INTEGER

Total de bytes procesados por la tarea.

Nota: Los valores de esta columna están vacíos en las consultas que leen datos de tablas con políticas de acceso a nivel de fila. Para obtener más información, consulta las prácticas recomendadas para la seguridad a nivel de fila en BigQuery.

total_modified_partitions INTEGER Número total de particiones que ha modificado la tarea. Este campo se rellena en los trabajos LOAD y QUERY.
total_slot_ms INTEGER Milisegundos de ranura de la tarea durante toda su duración en el estado RUNNING, incluidas las reintentos.
total_services_sku_slot_ms INTEGER Total de milisegundos de ranura de la tarea que se ejecuta en servicios externos y se factura con el SKU de servicios. Este campo solo se rellena en los trabajos que tienen costes de servicios externos y es el total del uso de los costes cuyo método de facturación es "SERVICES_SKU".
transaction_id STRING ID de la transacción en la que se ha ejecutado este trabajo, si la hay.
user_email STRING Columna de clustering: dirección de correo o cuenta de servicio del usuario que ha ejecutado el trabajo.
query_info.resource_warning STRING El mensaje de advertencia que aparece si el uso de recursos durante el procesamiento de la consulta supera el umbral interno del sistema.
Si una tarea de consulta se completa correctamente, se rellena el campo resource_warning. Con resource_warning, obtienes puntos de datos adicionales para optimizar tus consultas y configurar la monitorización de las tendencias de rendimiento de un conjunto de consultas equivalente mediante query_hashes.
query_info.query_hashes.normalized_literals STRING Contiene el valor hash de la consulta. normalized_literals es un hash hexadecimal STRING que ignora los comentarios, los valores de los parámetros, las funciones definidas por el usuario y los literales. El valor hash será diferente cuando cambien las vistas subyacentes o si la consulta hace referencia implícitamente a columnas, como SELECT *, y el esquema de la tabla cambia.
Este campo aparece en las consultas GoogleSQL correctas que no son aciertos de caché.
query_info.performance_insights RECORD Estadísticas de rendimiento de la tarea.
query_info.optimization_details STRUCT Las optimizaciones basadas en el historial del trabajo. Esta columna solo está disponible en la vista JOBS_BY_PROJECT.
transferred_bytes INTEGER Total de bytes transferidos en consultas entre nubes, como las tareas de transferencia entre nubes de BigQuery Omni.
materialized_view_statistics RECORD Estadísticas de las vistas materializadas que se han tenido en cuenta en un trabajo de consulta. Vista previa
metadata_cache_statistics RECORD Estadísticas sobre el uso del índice de columnas de metadatos de las tablas a las que se hace referencia en un trabajo de consulta.
search_statistics RECORD Estadísticas de una consulta de búsqueda.
query_dialect STRING Este campo estará disponible en algún momento de mayo del 2025. El dialecto de consulta que se ha usado en la tarea. Los valores válidos son los siguientes:
  • GOOGLE_SQL: se ha solicitado que el trabajo use GoogleSQL.
  • LEGACY_SQL: se ha solicitado que el trabajo use Legacy SQL.
  • DEFAULT_LEGACY_SQL: no se ha especificado ningún dialecto de consulta en la solicitud de trabajo. BigQuery ha usado el valor predeterminado de LegacySQL.
  • DEFAULT_GOOGLE_SQL: no se ha especificado ningún dialecto de consulta en la solicitud de trabajo. BigQuery ha usado el valor predeterminado de GoogleSQL.

Este campo solo se rellena en las tareas de consulta. La selección predeterminada del dialecto de consulta se puede controlar mediante los ajustes de configuración.
continuous BOOLEAN Si el trabajo es una consulta continua.
continuous_query_info.output_watermark TIMESTAMP Representa el punto hasta el que la consulta continua ha procesado los datos correctamente.
vector_search_statistics RECORD Estadísticas de una consulta de búsqueda de vectores.

Conservación de datos

Esta vista contiene los trabajos en curso y el historial de trabajos de los últimos 180 días.

Ámbito y sintaxis

Las consultas en esta vista deben incluir un calificador de región. 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_BY_ORGANIZATION Organización que contiene el proyecto especificado. REGION
Sustituye lo siguiente:
  • Opcional: PROJECT_ID: el ID de tu proyecto. Google Cloud Si no se especifica, se usa el proyecto predeterminado.
  • REGION: cualquier nombre de región del conjunto de datos. Por ejemplo, `region-us`.

Ejemplos

Para ejecutar la consulta en un proyecto que no sea el predeterminado, añade el ID del proyecto con el siguiente formato:

`PROJECT_ID`.`region-REGION_NAME`.INFORMATION_SCHEMA.JOBS_BY_ORGANIZATION
Sustituye lo siguiente:

  • PROJECT_ID: el ID del proyecto
  • REGION_NAME: la región de tu proyecto

Por ejemplo, `myproject`.`region-us`.INFORMATION_SCHEMA.JOBS_BY_ORGANIZATION.

Encuentra las cinco tareas principales que han analizado más bytes hoy

En el siguiente ejemplo se muestra cómo encontrar los cinco trabajos que han analizado la mayor cantidad de bytes en una organización durante el día actual. Puedes aplicar más filtros en statement_type para consultar información adicional, como cargas, exportaciones y consultas.

SELECT
  job_id,
  user_email,
  total_bytes_billed
FROM
  `region-REGION_NAME`.INFORMATION_SCHEMA.JOBS_BY_ORGANIZATION
WHERE
  EXTRACT(DATE FROM  creation_time) = current_date()
ORDER BY
  total_bytes_billed DESC
LIMIT 5;

El resultado es similar al siguiente:

+--------------+--------------+---------------------------+
| job_id       |  user_email  |  total_bytes_billed       |
+--------------+--------------+---------------------------+
| bquxjob_1    |  abc@xyz.com |    999999                 |
| bquxjob_2    |  def@xyz.com |    888888                 |
| bquxjob_3    |  ghi@xyz.com |    777777                 |
+--------------+--------------+---------------------------+

Agrega el uso de Hojas vinculadas por usuario a nivel de organización

La siguiente consulta proporciona un resumen de los principales usuarios de Hojas conectadas de tu organización en los últimos 30 días, clasificados por el total de datos facturados. La consulta agrega el número total de consultas, el total de bytes facturados y el total de milisegundos de ranura de cada usuario. Esta información es útil para conocer la adopción e identificar a los principales consumidores de recursos.

SELECT
  user_email,
  COUNT(*) AS total_queries,
  SUM(total_bytes_billed) AS total_bytes_billed,
  SUM(total_slot_ms) AS total_slot_ms
FROM
  `region-REGION_NAME.INFORMATION_SCHEMA.JOBS_BY_ORGANIZATION`
WHERE
  -- Filter for jobs created in the last 30 days
  creation_time >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 30 DAY)
  -- Filter for jobs originating from Connected Sheets
  AND job_id LIKE 'sheets_dataconnector%'
  -- Filter for completed jobs
  AND state = 'DONE'
  AND (statement_type IS NULL OR statement_type <> 'SCRIPT')
GROUP BY
  1
ORDER BY
  total_bytes_billed DESC;

Sustituye REGION_NAME por la región de tu proyecto. Por ejemplo, region-us.

.

El resultado es similar al siguiente:

+---------------------+---------------+--------------------+-----------------+
| user_email          | total_queries | total_bytes_billed | total_slot_ms   |
+---------------------+---------------+--------------------+-----------------+
| alice@example.com   | 152           | 12000000000        | 3500000         |
| bob@example.com     | 45            | 8500000000         | 2100000         |
| charles@example.com | 210           | 1100000000         | 1800000         |
+---------------------+---------------+--------------------+-----------------+

Buscar registros de trabajos de consultas de Hojas vinculadas a nivel de organización

La siguiente consulta proporciona un registro detallado de cada consulta individual ejecutada por Hojas vinculadas. Esta información es útil para auditar e identificar consultas específicas de alto coste.

SELECT
  job_id,
  creation_time,
  user_email,
  project_id,
  total_bytes_billed,
  total_slot_ms,
  query
FROM
  `region-REGION_NAME.INFORMATION_SCHEMA.JOBS_BY_ORGANIZATION`
WHERE
  creation_time >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 30 DAY)
  AND job_id LIKE 'sheets_dataconnector%'
  AND state = 'DONE'
  AND (statement_type IS NULL OR statement_type <> 'SCRIPT')
ORDER BY
  creation_time DESC;

Sustituye REGION_NAME por la región de tu proyecto. Por ejemplo, region-us.

.

El resultado es similar al siguiente:

+---------------------------------+---------------------------------+-----------------+------------+--------------------+---------------+--------------------------------+
| job_id                          | creation_time                   | user_email      | project_id | total_bytes_billed | total_slot_ms |  query                         |
+---------------------------------+---------------------------------+-----------------+------------+--------------------+---------------+--------------------------------+
| sheets_dataconnector_bquxjob_1  | 2025-11-06 00:26:53.077000 UTC  | abc@example.com | my_project | 12000000000        | 3500000       | SELECT ... FROM dataset.table1 |
| sheets_dataconnector_bquxjob_2  | 2025-11-06 00:24:04.294000 UTC  | xyz@example.com | my_project | 8500000000         | 2100000       | SELECT ... FROM dataset.table2 |
| sheets_dataconnector_bquxjob_3  | 2025-11-03 23:17:25.975000 UTC  | bob@example.com | my_project | 1100000000         | 1800000       | SELECT ... FROM dataset.table3 |
+---------------------------------+---------------------------------+-----------------+------------+--------------------+---------------+--------------------------------+