在会话中查看查询历史记录
本文档介绍了如何在 BigQuery 中查看会话的历史记录。它面向已经对 BigQuery 会话有一定了解的用户。
在完成以下步骤之前,请确保您拥有查看会话历史记录所需的权限。
查看会话历史记录
会话会捕获时间范围内的 SQL 活动。这些信息存储在会话的历史记录中。通过会话历史记录,您可以跟踪您在会话中所做的更改。如果作业失败或成功,则会记录在会话历史记录中,以便您稍后返回并查看已执行的操作。
控制台
要在控制台中查看会话的历史记录,必须存在该会话的编辑器标签页。即使您删除了编辑器标签页,也仍然可以使用 SQL 检索会话历史记录。
在控制台中,转到 BigQuery 页面。
点击包含该会话的编辑器标签页。
点击查询记录。
SQL
如需查看特定会话的历史数据,请先获取会话 ID,然后执行以下步骤:
在控制台中,转到 BigQuery 页面。
在查询编辑器中,输入以下语句:
SELECT * FROM region-us.INFORMATION_SCHEMA.VIEW WHERE session_info.session_id = 'SESSION_ID';
替换以下内容:
VIEW:要使用的
INFORMATION_SCHEMA
视图选择以下视图之一:
JOBS_BY_USER
:仅返回当前项目中的当前用户创建的作业SESSIONS_BY_USER
:仅返回当前项目中的当前用户创建的会话SESSIONS_BY_PROJECT
:返回当前项目中的所有会话
- SESSION_ID:要检索其历史数据的会话的 ID
点击
运行。
如需详细了解如何运行查询,请参阅运行交互式查询。
示例
以下命令返回会话 ID 为 CgwKCmZhbGl1LXRlc3QQARokMDAzYjI0
的会话的历史记录。您可以将此会话 ID 替换为您自己的 ID。
SELECT creation_time, 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);
结果类似于以下内容:
+---------------------+------------------------------------------------------------------------------------------+
| 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; |
+---------------------+------------------------------------------------------------------------------------------+