跳到主要内容
最后 更新

table_stream_consumption

概述

记录每个 Table Stream 在基表各分区上的消费位点、积压和最近消费时间。每行对应一个 Stream 的一个消费单元(基表分区)。使用方法见 Table Stream 进阶

所属数据库

information_schema

表信息

列名类型说明
DB_NAMEvarchar(64)Stream 所在的数据库
STREAM_NAMEvarchar(64)Stream 名称
STREAM_IDbigintStream ID
UNITvarchar(64)消费单元,即基表分区名。未显式分区的表只有一个与表同名的分区
CONSUMPTION_STATUSvarchar(64)该分区已消费到的提交时间戳(TSO);N/A 表示该分区尚未消费过
LAGvarchar(64)该分区最新提交的 TSO 与已消费 TSO 的差值,0 表示没有积压;N/A 表示分区有数据但尚未消费过。TSO 的低 18 位为逻辑计数,LAG 除以 262144 约等于积压的毫秒数
LAST_CONSUMPTION_TIMEbigint最近一次消费该分区的时间(毫秒时间戳),-1 表示尚未消费过

示例

SELECT UNIT, CONSUMPTION_STATUS, LAG, LAST_CONSUMPTION_TIME
FROM information_schema.table_stream_consumption
WHERE DB_NAME = 'demo' AND STREAM_NAME = 'orders_stream'
ORDER BY UNIT;
+-----------+--------------------+-----------+-----------------------+
| UNIT | CONSUMPTION_STATUS | LAG | LAST_CONSUMPTION_TIME |
+-----------+--------------------+-----------+-----------------------+
| p20260913 | 469041123123200000 | 0 | 1789267206000 |
| p20260914 | 469067681628160003 | 262144000 | 1789351206000 |
| p20260915 | N/A | 0 | -1 |
+-----------+--------------------+-----------+-----------------------+