Visualização JOBS_TIMELINE_BY_USER

A visualização INFORMATION_SCHEMA.JOBS_TIMELINE_BY_USER contém metadados do BigQuery quase em tempo real por fração de tempo dos jobs enviados pelo usuário atual no projeto atual. Essa visualização contém jobs em execução e concluídos.

Permissões necessárias

Para consultar a visualização INFORMATION_SCHEMA.JOBS_TIMELINE_BY_USER, você precisa da permissão bigquery.jobs.list Identity and Access Management (IAM) do projeto. Cada um dos seguintes papéis predefinidos do IAM inclui a permissão necessária:

  • Visualizador do projeto
  • Usuário do BigQuery

Para mais informações sobre as permissões do BigQuery, consulte Controle de acesso com o IAM.

Schema

Ao consultar as visualizações INFORMATION_SCHEMA.JOBS_TIMELINE_BY_*, os resultados da consulta terão uma linha para cada segundo de execução de cada job do BigQuery. Cada período começa em um intervalo de segundo inteiro e dura exatamente um segundo.

A visualização INFORMATION_SCHEMA.JOBS_TIMELINE_BY_* tem o seguinte esquema:

Nome da coluna Tipo de dados Valor
period_start TIMESTAMP Horário de início deste período.
period_slot_ms INTEGER Milissegundos de slot consumidos neste período.
period_shuffle_ram_usage_ratio FLOAT Proporção de uso do embaralhamento no período selecionado.
project_id STRING (Coluna de clustering) ID do projeto.
project_number INTEGER Número do projeto.
folder_numbers REPEATED INTEGER IDs de número das pastas que contêm o projeto, começando com a pasta que contém o projeto imediatamente, seguido pela pasta que contém a pasta filho e assim por diante. Por exemplo, se `folder_numbers` for `[1, 2, 3]`, a pasta `1` conterá imediatamente o projeto, a pasta `2` conterá `1` e a pasta `3` conterá ` 2".
user_email STRING (Coluna de clustering) endereço de e-mail ou conta de serviço do usuário que executou o job.
job_id STRING ID do job. Por exemplo, bquxjob_1234.
job_type STRING O tipo de job. Pode ser QUERY, LOAD, EXTRACT, COPY, ou null. O tipo de job null indica um job interno, como avaliação da instrução do job de script ou atualização da visualização materializada.
statement_type STRING O tipo de instrução de consulta, se for válido. Por exemplo, SELECT, INSERT, UPDATE, ou DELETE.
job_creation_time TIMESTAMP (Coluna de particionamento) horário da criação do job. O particionamento é baseado no horário UTC desse carimbo de data/hora.
job_start_time TIMESTAMP Horário de início deste job.
job_end_time TIMESTAMP Horário de término deste job.
state STRING Estado em execução do job no final deste período. Os estados válidos incluem PENDING, RUNNING, e DONE.
reservation_id STRING Nome da reserva principal atribuída a este job no final deste período, se aplicável.
total_bytes_processed INTEGER Total de bytes processados pelo job.
error_result RECORD Detalhes do erro (se houver) como um ErrorProto. .
cache_hit BOOLEAN Se os resultados da consulta deste job eram de um cache.
period_estimated_runnable_units INTEGER Unidades de trabalho que podem ser programadas imediatamente nesse período. Os slots adicionais para essas unidades de trabalho aceleram a consulta, contanto que nenhuma outra consulta na reserva precise de slots adicionais.

Retenção de dados

Essa visualização contém os jobs em execução e o histórico dos últimos 180 dias.

Escopo e sintaxe

As consultas nessa visualização precisam incluir um qualificador de região. Se você não especificar um qualificador regional, os metadados serão recuperados de todas as regiões. A tabela a seguir explica os escopos de região e recurso dessa visualização:

Ver nome Escopo do recurso Escopo da região
[PROJECT_ID.]`region-REGION`.INFORMATION_SCHEMA.JOBS_TIMELINE_BY_USER Jobs enviados pelo usuário atual no projeto especificado. REGION
Substitua:

  • Opcional: PROJECT_ID: o ID do seu projeto do Google Cloud. Se não for especificado, o projeto padrão será usado.
  • REGION: qualquer nome da região do conjunto de dados. Por exemplo, region-us.

Exemplo

A consulta a seguir exibe o total de milissegundos de slot consumidos a cada segundo por jobs enviados pelo usuário atual no projeto designado:

SELECT
  period_start,
  SUM(period_slot_ms) AS total_period_slot_ms
FROM
  `region-us`.INFORMATION_SCHEMA.JOBS_TIMELINE_BY_USER
GROUP BY
  period_start
ORDER BY
  period_start DESC;

O resultado será semelhante ao seguinte:

+---------------------------+---------------------------------+
|  period_start             |  total_period_slot_ms           |
+---------------------------+---------------------------------+
|  2019-10-10 00:00:04 UTC  |  118639                         |
|  2019-10-10 00:00:03 UTC  |  251353                         |
|  2019-10-10 00:00:02 UTC  |  1074064                        |
|  2019-10-10 00:00:01 UTC  |  1124868                        |
|  2019-10-10 00:00:00 UTC  |  1113961                        |
+---------------------------+---------------------------------+