概述
数据表的变更历史用于回答「谁在什么时候对这张表做了什么改动」。在 Catalog 中打开任一表详情页后,变更历史 Tab 会按版本倒序展示该表的所有数据与 DDL 操作记录,并支持按用户、操作类型、时间范围筛选。DataBuddy 同时支持在 Spark SQL 中通过
DESCRIBE HISTORY 直接查询表的变更历史,便于在 SQL / Notebook 链路中编程式审计。适用场景:
排查表数据为何被修改、被谁修改、什么时间修改。
验证近期 DDL 变更(如新增列、删除分区、重写表结构)是否符合预期。
在事故复盘、合规审计、版本追溯时定位具体的版本号与提交记录。
前提条件
当前账号已能登录工作空间,并对目标 Catalog → Schema → Table 拥有 Read 及以上权限。
目标表所在 Catalog 已绑定支持读取表历史的计算引擎(详见 使用限制)。
在 Catalog 表详情页查看变更历史时,需要先选择一个可用的计算资源用于拉取历史数据。
使用限制
限制项 | 说明 |
引擎依赖 | 表变更历史读取依赖底层 Catalog 实现;不同引擎支持的操作类型与字段范围可能存在差异。 |
记录条数 | 页面最多展示前 100 条变更记录;如需更多记录,请使用 SQL 中的 DESCRIBE HISTORY 查询。 |
展示字段 | 当前展示版本号、时间戳、用户 ID、用户名、操作、操作参数;后续将逐步扩展(如作业、Notebook、Cluster ID、版本号、事务隔离级别、是否盲追加、操作指标、用户自定义备注、引擎信息等)。 |
计算资源 | 进入变更历史 Tab 时必须选择计算资源;未启动时会先触发启动,启动期间历史数据不可读取。 |
操作步骤
步骤 1:进入表详情页
1. 登录 DataBuddy 控制台。
2. 在顶部切换到目标地域和 Workspace。
3. 在左侧导航栏选择 数据目录 。
4. 依次展开 Catalog > Schema ,点击目标表名进入表详情页。
步骤 2:选择计算资源
1. 在表详情页切换到 变更历史 Tab。
2. 如当前计算资源未启动,按页面提示在选择框中选取一个可用计算资源:
计算资源选择框支持搜索。
资源状态用颜色和图标标识:绿色为运行中,灰色为待启动,圆圈为启动中;鼠标悬停可查看完整名称和状态描述。
1. 选择后系统会提示 计算资源正在启动中…更多信息请到计算资源查看 ,可点击资源名称跳转到 计算资源 页面查看启动详情。
2. 启动完成后会提示 计算资源已经启动。更多信息请到计算资源查看 ,此时可以读取变更历史。
提示
计算资源选择具有记忆功能:再次打开 变更历史 Tab 时,会自动沿用您上一次的选择。
步骤 3:查看变更历史
变更历史以表格形式按版本倒序展示,常用字段如下:
字段 | 说明 |
版本 | 表的版本号,从大到小排列,最新版本在最上方。 |
时间 | 该版本提交的时间戳,按最新时间在前展示。 |
变更类型 | 该次变更对应的操作类型,例如 INSERT、UPDATE、DELETE、MERGE、CREATE TABLE、DROP TABLE、TRUNCATE、RESTORE、ALTER TABLE 等。 |
用户 uin | 触发变更的账号 ID 与显示名。 |
操作 / 操作参数 | 引擎记录的具体操作与参数。 |
操作详情 | 详细描述,支持点击三角形展开查看。 |
表格支持横向滚动,向右滑动可看到完整字段。当变更记录较多时,页面底部会提示:最多展示前 100 条变更记录。如果需要更多变更记录,请到 SQL 查询页面通过
DESCRIBE HISTORY 进行查询。步骤 4:按用户或操作类型筛选
1. 在表格上方筛选:
用户 :默认 全部用户 ,可选择单个或多个用户进行过滤。
1. 如需按时间过滤,可在时间范围控件中选择日期。
2. 修改筛选条件后,表格会自动刷新;可使用浏览器返回或重新选择 全部用户 / 所有操作 恢复默认视图。
步骤 5:在 SQL 中查询表变更历史
如需在 SQL / Notebook 中编程式读取变更历史,可在已绑定对应引擎的查询会话中执行:
DESCRIBE HISTORY databricks_test.logantest.`客户信息`;
将
databricks_test.logantest.客户信息 替换为您的 catalog.schema.table 路径。表名包含中文、空格或保留字时建议用反引号包裹。返回结果与表详情页的字段一致,可继续配合 WHERE、ORDER BY、LIMIT 等子句做进一步过滤。提示
DESCRIBE HISTORY 的具体支持范围与返回字段由底层引擎决定,请先确认会话使用的引擎已支持该语法。常见问题
Q:变更历史中看不到某次写入或 DDL 操作?
A:请按顺序确认:
1. 当前 Catalog / 引擎是否支持记录该类型的操作(部分引擎不会记录所有 DDL)。
2. 是否被前 100 条限制截断;如截断,请改用
DESCRIBE HISTORY 查询。3. 该操作是否发生在所选时间范围(最多 30 天)之外。
Q:进入 变更历史 Tab 后一直显示 「请选择计算资源」?
A:说明当前会话没有可用的计算资源。请先在 计算资源 页面启动一个可用资源,或在选择框中选择处于「运行中」或「启动中」状态的资源。
Q:可以查看某次变更的具体数据差异吗?
A:当前版本仅展示版本号、操作、操作参数、变更日志等元信息,具体行级差异需通过 SQL 在不同版本之间做对比查询(例如借助引擎自身的版本访问语法)。
Q:能否从变更历史回滚到某个历史版本?
A:当前版本未提供页面化的回滚操作;如需回滚,请基于
DESCRIBE HISTORY 输出找到目标版本,再使用引擎支持的回滚或 RESTORE 语法在 SQL 中完成。