Como ver o histórico de consultas em sessões

Neste documento, você verá como ver o histórico de uma sessão no BigQuery. Ela é destinada a usuários que já têm uma compreensão geral das sessões do BigQuery.

Antes de concluir estas etapas, verifique se você tem as permissões necessárias para visualizar o histórico de uma sessão.

Ver o histórico de uma sessão

Uma sessão captura suas atividades SQL dentro de um período. Essas informações são armazenadas no histórico da sessão. O histórico de sessões permite acompanhar as alterações feitas na sessão. Se um job falhar ou ser bem-sucedido, ele será registrado no histórico da sessão para que você possa voltar mais tarde e ver o que fez.

Console

Para ver o histórico de uma sessão no Console do Cloud, a guia do editor com a sessão precisa existir. Se você excluiu a guia do editor, ainda é possível recuperar o histórico da sessão com SQL.

  1. No console do Cloud, acesse a página do BigQuery.

    Ir para o BigQuery

  2. Clique na guia do editor que contém a sessão.

  3. Clique em Histórico de consultas.

SQL

Para visualizar os dados históricos de uma sessão específica, consiga o ID da sessão e execute a consulta a seguir.

SELECT *
FROM `region-us`.INFORMATION_SCHEMA.VIEW
WHERE session_info.session_id = 'SESSION_ID'

onde:

  • VIEW: a visualização INFORMATION_SCHEMA com a qual trabalhar. Suas opções são:
    • [JOBS_BY_USER][bigquery/docs/information-schema-jobs#schema]: retorna apenas os jobs criados pelo usuário atual no projeto atual.
    • [SESSIONS_BY_USER][bigquery/docs/information-schema-sessions#schema]: retorna apenas as sessões criadas pelo usuário atual no projeto atual.
    • [SESSIONS_BY_PROJECT][bigquery/docs/information-schema-sessions#schema]: retorna todas as sessões no projeto atual.
  • SESSION_ID: o ID da sessão para a qual dados históricos serão recuperados.

Exemplo

Essa consulta retorna o histórico de uma sessão que tem o ID CgwKCmZhbGl1LXRlc3QQARokMDAzYjI0. É possível substituir esse ID de sessão pelo seu.

SELECT creation_time, project_id, user_email, job_id, query
FROM `region-us`.INFORMATION_SCHEMA.JOBS_BY_USER
WHERE session_info.session_id = 'CgwKCmZhbGl1LXRlc3QQARokMDAzYjI0'
AND creation_time > TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 20 DAY)

A consulta produz resultados semelhantes a este:

+---------------------+------------------------------------------------------------------------------------------+
|    creation_time    |                                          query                                           |
+---------------------+------------------------------------------------------------------------------------------+
| 2021-06-01 23:04:26 | SELECT * FROM Purchases;                                                                 |
| 2021-06-01 23:02:51 | CREATE TEMP TABLE Purchases(total INT64)  AS SELECT * FROM UNNEST([10,23,3,14,55]) AS a; |
+---------------------+------------------------------------------------------------------------------------------+

A seguir