查询历史记录系统表参考

重要

此系统表为公共预览版。 若要访问表,必须在 system 目录中启用架构。 有关详细信息,请参阅启用系统表架构

本文包含有关查询历史记录系统表的信息,包括表架构的大纲。

重要

若要访问查询历史记录系统表,必须启用 query 架构。 有关启用系统架构的说明,请参阅启用系统表架构

使用查询历史记录表

位于 system.query.history 的查询历史记录表包括使用 SQL 仓库运行的每个 SQL 语句的记录。 该表包括来自访问表的同一区域中所有工作区的帐户范围记录。

默认情况下,只有管理员有权访问系统表。 如果要与用户或组共享表数据,Databricks 建议为每个用户或组创建动态视图。 请参阅创建动态视图

查询历史记录系统表架构

查询历史记录系统表使用以下架构:

列名称 数据类型 说明 示例
account_id string 帐户的 ID。 11e22ba4-87b9-4cc2

-9770-d10b894b7118
workspace_id string 运行查询的工作区的 ID。 1234567890123456
statement_id string 唯一标识语句执行的 ID。 可以使用此 ID 在“查询历史记录”UI 中查找语句执行。 7a99b43c-b46c-432b

-b0a7-814217701909
session_id string Spark 会话 ID。 01234567-cr06-a2mp

-t0nd-a14ecfb5a9c2
execution_status string 语句终止状态。 可能的值为:

- FINISHED:执行成功
- FAILED:执行失败,并显示随附错误消息中所述失败的原因
- CANCELED:执行已取消
FINISHED
compute struct 一个结构,表示用于运行语句的计算资源的类型,以及资源的 ID(如适用)。 type 值将是 WAREHOUSESERVERLESS_COMPUTE {

type: WAREHOUSE,

cluster_id: NULL,

warehouse_id: ec58ee3772e8d305

}
executed_by_user_id string 运行语句的用户的 ID。 2967555311742259
executed_by string 运行该语句的用户的电子邮件地址或用户名。 example@databricks.com
statement_text string SQL 语句的文本。 如果已配置客户管理的密钥,则 statement_text 为空。 SELECT 1
statement_type string 语句类型。 例如 ALTERCOPYINSERT SELECT
error_message string 描述错误条件的消息。 如果已配置客户管理的密钥,则 error_message 为空。 [INSUFFICIENT_PERMISSIONS]

Insufficient privileges:

User does not have

permission SELECT on table

'default.nyctaxi_trips'.
client_application string 运行语句的客户端应用程序。 例如:Databricks SQL、Tableau 和 Power BI。 Databricks SQL
client_driver string 用于连接到 Azure Databricks 以运行语句的连接器。 例如:Databricks SQL Driver for Go、Databricks ODBC 驱动程序、Databricks JDBC 驱动程序。 Databricks JDBC Driver
total_duration_ms bigint 语句的总执行时间(以毫秒为单位)(不包括结果提取时间)。 1
waiting_for_compute_duration_ms bigint 等待预配计算资源的时间(以毫秒为单位)。 1
waiting_at_capacity_duration_ms bigint 等待队列中可用计算容量的时间(以毫秒为单位)。 1
execution_duration_ms bigint 执行查询所花费的时间(以毫秒为单位)。 1
compilation_duration_ms bigint 加载元数据和优化语句所花费的时间(以毫秒为单位)。 1
total_task_duration_ms bigint 所有任务工期的总和(以毫秒为单位)。 这个时间表示跨所有节点的所有核心运行查询所花费的总时间。 如果并行执行多个任务,则持续时间可能明显长于挂钟持续时间。 如果任务等待可用节点,则持续时间可能比挂钟持续时间要短。 1
result_fetch_duration_ms bigint 执行完成后提取查询结果所花费的时间(以毫秒为单位)。 1
start_time timestamp Databricks 收到请求的时间。 时区信息记录在值的末尾,其中 +00:00 表示 UTC。 2022-12-05T00:00:00.000+0000
end_time timestamp 语句执行结束的时间,不包括结果提取时间。 时区信息记录在值的末尾,其中 +00:00 表示 UTC。 2022-12-05T00:00:00.000+00:00
update_time timestamp 上次收到进度更新的语句的时间。 时区信息记录在值的末尾,其中 +00:00 表示 UTC。 2022-12-05T00:00:00.000+00:00
read_partitions bigint 修剪后读取的分区数。 1
pruned_files bigint 已修剪的文件数。 1
read_files bigint 修剪后读取的文件数。 1
read_rows bigint 语句读取的总行数。 1
produced_rows bigint 语句返回的总行数。 1
read_bytes bigint 语句读取的数据的总大小(以字节为单位)。 1
read_io_cache_percent int 从 IO 缓存中读取的永久性数据的字节百分比。 50
from_results_cache boolean TRUE 指示语句结果是从缓存中提取的。 TRUE
spilled_local_bytes bigint 执行语句时临时写入磁盘的数据大小(以字节为单位)。 1
written_bytes bigint 写入云对象存储的持久性数据的大小(以字节为单位)。 1
shuffle_read_bytes bigint 通过网络发送的数据总量(以字节为单位)。 1
query_source struct 包含键值对的结构,表示参与执行此语句的一个或多个 Databricks 实体,如作业、笔记本或仪表板。 此字段仅记录 Databricks 实体。 {
job_info: {
job_id: 64361233243479
job_run_id: 887406461287882
job_task_key: “job_task_1”
job_task_run_id: 110378410199121
}
executed_as string 使用其特权运行语句的用户或服务主体的名称。 example@databricks.com
executed_as_user_id string 使用其特权运行语句的用户或服务主体的 ID。 2967555311742259

查看记录的查询配置文件

若要根据查询历史记录表中的记录导航到查询的查询配置文件,请执行以下操作:

  1. 确定感兴趣的记录,然后复制记录的 statement_id
  2. 引用记录的 workspace_id,确保登录到与记录相同的工作区。
  3. 单击工作区边栏中的 History Icon“查询历史记录”。
  4. 在“语句 ID”字段中,将 statement_id 粘贴到记录上。
  5. 单击查询的名称。 此时将显示查询指标的概述。
  6. 单击“查看查询配置文件”