SHOW DYNAMIC TABLE REFRESH HISTORY

功能概述

查看动态表的刷新执行历史,包含每次刷新的模式(增量/全量/跳过)、耗时、触发方式、行变更数和失败原因。是诊断刷新是否正常、是否退化为全量、是否积压的主要工具。

语法

SHOW DYNAMIC TABLE REFRESH HISTORY [ WHERE <expr> ] [ LIMIT <num> ];

  • WHERE <expr>
    WHERE <expr>
    :按任意返回字段过滤,例如
    WHERE name = 'my_dt' AND state = 'FAILED'
    WHERE name = 'my_dt' AND state = 'FAILED'
  • LIMIT <num>
    LIMIT <num>
    :限制返回条数,范围 1–10000,默认返回最近 100 条

返回字段

字段类型说明
workspace_name
workspace_name
string工作空间名称
schema_name
schema_name
stringSchema 名称
name
name
string动态表名称
virtual_cluster
virtual_cluster
string本次刷新使用的计算集群
start_time
start_time
timestamp刷新开始时间
end_time
end_time
timestamp刷新结束时间
duration
duration
object刷新耗时,格式为
{"0":0,"1":0,"2":<纳秒>,"3":0}
{"0":0,"1":0,"2":<纳秒>,"3":0}
"2"
"2"
字段值除以 1,000,000,000 得秒数
state
state
string执行结果:
SUCCEED
SUCCEED
/
FAILED
FAILED
refresh_trigger
refresh_trigger
string触发方式:
SYSTEM_SCHEDULED
SYSTEM_SCHEDULED
(定时自动触发)/
MANUAL
MANUAL
(用户手动调用,含 Studio 调度触发)
refresh_mode
refresh_mode
string刷新模式,见下方说明
error_message
error_message
string失败时的错误信息,成功时为 null
source_tables
source_tables
array本次增量计算的上游表列表,
NO_DATA
NO_DATA
时为空数组
stats
stats
object行变更统计,仅
INCREMENTAL
INCREMENTAL
时有值,格式为
{"rows_deleted":"N","rows_inserted":"N"}
{"rows_deleted":"N","rows_inserted":"N"}
job_id
job_id
string作业 ID,可在 Studio 作业监控中查看详情

refresh_mode 说明

含义stats
NO_DATA
NO_DATA
上游无变更,本次刷新跳过,不执行计算null
INCREMENTAL
INCREMENTAL
增量计算,只处理上游变更行
{"rows_deleted":"N","rows_inserted":"N"}
{"rows_deleted":"N","rows_inserted":"N"}
FULL
FULL
全量重算,整张表重新计算null(或全量行数)

使用示例

查看某张动态表的最近 10 次刷新:

SHOW DYNAMIC TABLE REFRESH HISTORY WHERE name = 'dws_sales_dashboard' LIMIT 10;

筛选失败记录:

SHOW DYNAMIC TABLE REFRESH HISTORY WHERE name = 'dws_sales_dashboard' AND state = 'FAILED';

查看某个 Schema 下所有动态表的最近刷新(不加 WHERE 则返回当前 Schema 下全部):

SHOW DYNAMIC TABLE REFRESH HISTORY LIMIT 100;

诊断常见问题

刷新是否退化为全量?

refresh_mode
refresh_mode
FULL
FULL
说明引擎判断增量代价过高,自动回退全量。持续全量说明 SQL 结构复杂度超出增量引擎的处理范围,需要检查查询。

刷新是否在积压?

start_time
start_time
end_time
end_time
算出
duration
duration
,与刷新间隔对比。如果单次刷新耗时接近或超过刷新间隔,说明任务在积压——上一次还没跑完,下一次已经触发。需要加大刷新间隔或升级集群规格。

上游源表变更是否被识别?

INCREMENTAL
INCREMENTAL
source_tables
source_tables
会列出被识别到变更的上游表。如果
source_tables
source_tables
为空且结果是
NO_DATA
NO_DATA
,说明本次检测周期内上游没有新的变更。

判断

NO_DATA
NO_DATA
是否正常?

NO_DATA
NO_DATA
是正常现象,代表上游在这个调度周期内没有变更,引擎跳过了计算。不是失败,也不是问题。

相关文档

联系我们
预约咨询
微信咨询
电话咨询
邮件咨询