Vista JOBS_BY_ORGANIZATION

A vista INFORMATION_SCHEMA.JOBS_BY_ORGANIZATION contém metadados praticamente em tempo real sobre todas as tarefas enviadas na organização associada ao projeto atual.

Função necessária

Para receber a autorização de que precisa para consultar a vista INFORMATION_SCHEMA.JOBS_BY_ORGANIZATION, peça ao seu administrador para lhe conceder a função de IAM visualizador de recursos do BigQuery (roles/bigquery.resourceViewer) na sua organização. Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.

Esta função predefinida contém a autorização bigquery.jobs.listAll , que é necessária para consultar a vista INFORMATION_SCHEMA.JOBS_BY_ORGANIZATION.

Também pode obter esta autorização com funções personalizadas ou outras funções predefinidas.

A tabela de esquemas só está disponível para utilizadores com organizações Google Clouddefinidas.

Para mais informações sobre as autorizações do BigQuery, consulte o artigo Controlo de acesso com a IAM.

Esquema

Os dados subjacentes são particionados pela coluna creation_time e agrupados por project_id e user_email. A coluna query_info contém informações adicionais sobre as tarefas de consulta.

A vista INFORMATION_SCHEMA.JOBS_BY_ORGANIZATION tem o seguinte esquema:

Nome da coluna Tipo de dados Valor
bi_engine_statistics RECORD Se o projeto estiver configurado para usar o BI Engine, este campo contém BiEngineStatistics. Caso contrário, NULL.
cache_hit BOOLEAN Se os resultados da consulta deste trabalho eram de uma cache. Se tiver um trabalho de declaração de várias consultas, cache_hit o ID da consulta principal é NULL.
creation_time TIMESTAMP (Coluna de partição) Hora da criação desta tarefa. A partição baseia-se na data/hora UTC desta data/hora.
destination_table RECORD Tabela de destino para resultados, se existir.
end_time TIMESTAMP A hora de fim desta tarefa, em milissegundos desde a época. Este campo representa a hora em que a tarefa entra no estado DONE.
error_result RECORD Detalhes de quaisquer erros como objetos ErrorProto.
folder_numbers REPEATED INTEGER IDs numéricos das pastas que contêm o projeto, começando pela pasta que contém imediatamente o projeto, seguida da pasta que contém a pasta secundária e assim sucessivamente. Por exemplo, se folder_numbers for [1, 2, 3], a pasta 1 contém imediatamente o projeto, a pasta 2 contém 1 e a pasta 3 contém 2. Esta coluna só é preenchida em JOBS_BY_FOLDER.
job_creation_reason.code STRING Especifica o motivo geral pelo qual foi criado um trabalho.
Os valores possíveis são:
  • REQUESTED: foi pedida a criação de uma tarefa.
  • LONG_RUNNING: o pedido de consulta foi executado para além de um tempo limite definido pelo sistema especificado pelo campo timeoutMs no QueryRequest. Como tal, foi considerada uma operação de longa duração para a qual foi criado um trabalho.
  • LARGE_RESULTS: os resultados da consulta não cabem na resposta inline.
  • OTHER: o sistema determinou que a consulta tem de ser executada como uma tarefa.
job_id STRING O ID da tarefa, se tiver sido criada uma tarefa. Caso contrário, o ID da consulta de uma consulta que usa o modo de criação de tarefas opcional. Por exemplo, bquxjob_1234.
job_stages RECORD Fases da consulta da tarefa.

Nota: os valores desta coluna estão vazios para consultas que leem a partir de tabelas com políticas de acesso ao nível da linha. Para mais informações, consulte as práticas recomendadas para a segurança ao nível da linha no BigQuery.

job_type STRING O tipo de trabalho. Pode ser QUERY, LOAD, EXTRACT, COPY ou NULL. Um valor NULL indica uma tarefa em segundo plano.
labels RECORD Matriz de etiquetas aplicadas à tarefa como pares de chave-valor.
parent_job_id STRING ID da tarefa principal, se existir.
priority STRING A prioridade desta tarefa. Os valores válidos incluem INTERACTIVE e BATCH.
project_id STRING (Coluna de agrupamento) O ID do projeto.
project_number INTEGER O número do projeto.
referenced_tables RECORD Matriz de tabelas referenciadas pela tarefa. Preenchido apenas para tarefas de consulta que não são resultados da cache.
reservation_id STRING Nome da reserva principal atribuída a esta tarefa, no formato RESERVATION_ADMIN_PROJECT:RESERVATION_LOCATION.RESERVATION_NAME.
Nesta saída:
  • RESERVATION_ADMIN_PROJECT: o nome do projeto do Google Cloud que administra a reserva
  • RESERVATION_LOCATION: a localização da reserva
  • RESERVATION_NAME: o nome da reserva
edition STRING A edição associada à reserva atribuída a esta tarefa. Para mais informações sobre as edições, consulte o artigo Introdução às edições do BigQuery.
session_info RECORD Detalhes sobre a sessão em que esta tarefa foi executada, se aplicável.
start_time TIMESTAMP A hora de início desta tarefa, em milissegundos desde a época. Este campo representa a hora em que a tarefa passa do estado PENDING para RUNNING ou DONE.
state STRING Estado de execução da tarefa. Os estados válidos incluem PENDING, RUNNING e DONE.
statement_type STRING O tipo de declaração de consulta. Por exemplo, DELETE, INSERT, SCRIPT, SELECT ou UPDATE. Consulte QueryStatementType para ver a lista de valores válidos.
timeline RECORD Cronologia da consulta da tarefa. Contém capturas de ecrã da execução de consultas.
total_bytes_billed INTEGER Se o projeto estiver configurado para usar preços a pedido, este campo contém o total de bytes faturados para a tarefa. Se o projeto estiver configurado para usar preços de taxa fixa, não lhe são cobrados bytes, e este campo é apenas informativo.

Nota: os valores desta coluna estão vazios para consultas que leem a partir de tabelas com políticas de acesso ao nível da linha. Para mais informações, consulte as práticas recomendadas para a segurança ao nível da linha no BigQuery.

total_bytes_processed INTEGER

Total de bytes processados pela tarefa.

Nota: os valores desta coluna estão vazios para consultas que leem a partir de tabelas com políticas de acesso ao nível da linha. Para mais informações, consulte as práticas recomendadas para a segurança ao nível da linha no BigQuery.

total_modified_partitions INTEGER O número total de partições que a tarefa modificou. Este campo é preenchido para trabalhos de LOAD e QUERY.
total_slot_ms INTEGER Slot milliseconds for the job over its entire duration in the RUNNING state, including retries.
total_services_sku_slot_ms INTEGER Total de milissegundos de espaço para a tarefa executada em serviços externos e faturada no SKU de serviços. Este campo só é preenchido para tarefas que têm custos de serviço externos e é o total da utilização para custos cujo método de faturação é "SERVICES_SKU".
transaction_id STRING ID da transação em que esta tarefa foi executada, se existir.
user_email STRING (Coluna de agrupamento) Endereço de email ou conta de serviço do utilizador que executou a tarefa.
principal_subject STRING Uma representação de string da identidade do principal que executou a tarefa.
query_info.resource_warning STRING A mensagem de aviso apresentada se a utilização de recursos durante o processamento de consultas estiver acima do limite interno do sistema.
Um trabalho de consulta bem-sucedido pode ter o campo resource_warning preenchido. Com o resource_warning, recebe pontos de dados adicionais para otimizar as suas consultas e configurar a monitorização das tendências de desempenho de um conjunto equivalente de consultas através do query_hashes.
query_info.query_hashes.normalized_literals STRING Contém o valor hash da consulta. normalized_literals é um hash hexadecimal STRING que ignora comentários, valores de parâmetros, funções definidas pelo utilizador e literais. O valor hash difere quando as vistas subjacentes mudam ou se a consulta faz referência implícita a colunas, como SELECT *, e o esquema da tabela muda.
Este campo é apresentado para consultas GoogleSQL bem-sucedidas que não são resultados da cache.
query_info.performance_insights RECORD Estatísticas de desempenho para a tarefa.
query_info.optimization_details STRUCT As otimizações baseadas no histórico para a tarefa. Apenas a vista JOBS_BY_PROJECT tem esta coluna.
transferred_bytes INTEGER Total de bytes transferidos para consultas entre nuvens, como tarefas de transferência entre nuvens do BigQuery Omni.
materialized_view_statistics RECORD Estatísticas das vistas materializadas consideradas numa tarefa de consulta. (Pré-visualizar)
metadata_cache_statistics RECORD Estatísticas de utilização do índice de colunas de metadados para tabelas referenciadas numa tarefa de consulta.
search_statistics RECORD Estatísticas de uma consulta de pesquisa.
query_dialect STRING Este campo vai estar disponível em maio de 2025. O dialeto de consulta usado para a tarefa. Os valores válidos incluem:
  • GOOGLE_SQL: o trabalho foi pedido para usar o GoogleSQL.
  • LEGACY_SQL: foi pedido que a tarefa usasse SQL antigo.
  • DEFAULT_LEGACY_SQL: não foi especificado nenhum dialeto de consulta no pedido de tarefa. O BigQuery usou o valor predefinido do SQL antigo.
  • DEFAULT_GOOGLE_SQL: não foi especificado nenhum dialeto de consulta no pedido de tarefa. O BigQuery usou o valor predefinido do GoogleSQL.

Este campo só é preenchido para tarefas de consulta. A seleção predefinida do dialeto de consulta pode ser controlada pelas definições de configuração.
continuous BOOLEAN Se o trabalho é uma consulta contínua.
continuous_query_info.output_watermark TIMESTAMP Representa o ponto até ao qual a consulta contínua processou dados com êxito.
vector_search_statistics RECORD Estatísticas para uma consulta de pesquisa vetorial.

Para garantir a estabilidade, recomendamos que liste explicitamente as colunas nas suas consultas de esquema de informações em vez de usar um caráter universal (SELECT *). A listagem explícita de colunas evita que as consultas sejam interrompidas se o esquema subjacente for alterado.

Retenção de dados

Esta vista apresenta as tarefas em execução, juntamente com o histórico de tarefas dos últimos 180 dias. Se um projeto for migrado para uma organização (quer não tenha organização ou seja de uma organização diferente), as informações de tarefas anteriores à data de migração não são acessíveis através da visualização INFORMATION_SCHEMA.JOBS_BY_ORGANIZATION, uma vez que a visualização só retém dados a partir da data de migração.

Âmbito e sintaxe

As consultas nesta vista têm de incluir um qualificador de região. A tabela seguinte explica o âmbito da região para esta vista:

Nome da visualização de propriedade Âmbito do recurso Âmbito da região
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.JOBS_BY_ORGANIZATION Organização que contém o projeto especificado REGION
Substitua o seguinte:
  • Opcional: PROJECT_ID: o ID do seu projeto Google Cloud . Se não for especificado, é usado o projeto predefinido.
  • REGION: qualquer nome da região do conjunto de dados. Por exemplo, `region-us`.

Exemplos

Para executar a consulta num projeto que não seja o seu projeto predefinido, adicione o ID do projeto no seguinte formato:

`PROJECT_ID`.`region-REGION_NAME`.INFORMATION_SCHEMA.JOBS_BY_ORGANIZATION
Substitua o seguinte:

  • PROJECT_ID: o ID do projeto
  • REGION_NAME: a região do seu projeto

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

Encontre os cinco principais trabalhos que analisaram mais bytes hoje

O exemplo seguinte demonstra como encontrar os cinco trabalhos que analisaram o maior número de bytes numa organização no dia atual. Pode filtrar ainda mais em statement_type para consultar informações adicionais, como carregamentos, exportações e 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;

O resultado é semelhante ao seguinte:

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

Agregue a utilização das páginas associadas por utilizador ao nível da organização

A seguinte consulta fornece um resumo dos principais utilizadores do Sheets ligado na sua organização nos últimos 30 dias, classificados pelo total de dados faturados. A consulta agrega o número total de consultas, o total de bytes faturados e o total de milissegundos de slots para cada utilizador. Estas informações são úteis para compreender a adoção e identificar os principais 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;

Substitua REGION_NAME pela região do seu projeto. Por exemplo, region-us.

O resultado tem um aspeto semelhante ao seguinte:

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

Encontre registos de tarefas de consultas de páginas associadas ao nível da organização

A seguinte consulta fornece um registo detalhado de cada tarefa individual executada pelo Connected Sheets. Estas informações são úteis para a auditoria e a identificação de consultas específicas de custo elevado.

SELECT
  job_id,
  creation_time,
  user_email,
  project_id,
  total_bytes_billed,
  total_slot_ms
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;

Substitua REGION_NAME pela região do seu projeto. Por exemplo, region-us.

O resultado tem um aspeto semelhante ao seguinte:

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