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 foram provenientes 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 |
Os 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:
|
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 das linhas. 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:
|
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 |
Linha cronológica da consulta da tarefa. Contém instantâneos 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 é faturado o número de 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 das linhas. 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 das linhas. 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. |
query_info.resource_warning |
STRING |
A mensagem de aviso que é 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é-visualização) |
metadata_cache_statistics |
RECORD |
Estatísticas de utilização do índice da coluna 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:
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 impede 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 migrado de uma organização diferente), as informações de tarefas anteriores à data de migração não são acessíveis através da vista INFORMATION_SCHEMA.JOBS_BY_ORGANIZATION, uma vez que a vista 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 |
-
Opcional:
PROJECT_ID: o ID do seu projeto do Google Cloud 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
PROJECT_ID: o ID do projetoREGION_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 consulta seguinte fornece um registo detalhado de cada consulta individual executada pelas páginas associadas. 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,
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;
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 | 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 | +---------------------------------+---------------------------------+-----------------+------------+--------------------+---------------+--------------------------------+