实时指标要声明什么
实时指标要与离线口径同源定义,并声明数据延迟(分钟级)与抖动范围、乱序处理窗口、以及结果修正的回撤机制。实时与离线之间的差异应当有界且可解释,通常来自迟到数据、乱序窗口与去重规则。实践中遵循「实时看趋势、离线定口径」:实时用于及时发现异常与运营干预,对外披露与考核仍以离线口径为准。
基本信息
| 延迟 | 分钟级,附带抖动范围 |
|---|---|
| 乱序 | 靠水位线窗口处理迟到数据 |
| 回撤 | 修正结果需支持更新或撤回 |
| 对账 | 接受有界差异,但需可解释 |
| 定位 | 实时看趋势,离线定口径 |
典型使用场景
- 大促期间的实时成交监控与容量预警
- 风控实时规则触发量与拦截率的即时观察
- 运维大盘:任务延迟与数据新鲜度实时暴露
- 运营干预:发现异常流量后即时调整投放
- 实时与离线对账,作为数据链路的日常校验
- 看板标注数据延迟,避免用户把未到齐的数据当成最终值
实时窗口计数
实时窗口计数
-- Flink 滚动窗口:5 分钟成交金额
SELECT window_start, window_end, sum(pay_amt) AS amt
FROM TABLE(TUMBLE(TABLE pay_stream, DESCRIPTOR(event_ts), INTERVAL '5' MINUTES))
GROUP BY window_start, window_end;
-- 实时与离线差异要有界并可解释
-- 差异来源:迟到数据、乱序窗口、去重规则要素对照
| 要素 | 说明 | 异常表现 |
|---|---|---|
| 延迟 | 从产生到可查的时延 | 延迟突增说明上游积压 |
| 水位线 | 乱序容忍的最大等待时间 | 设置过小会丢迟到数据 |
| 回撤 | 结果修正机制 | 无回撤会让看板数字只增不减 |
| 对账差异 | 实时与离线的差额 | 差异无解释说明口径不同源 |
实时口径不能临时拼凑:临时写的过滤条件与离线不同源,长期必然打架,任何临时口径都应尽快回到指标定义里固化下来。
乱序窗口设得太宽会削弱实时价值,太窄会丢迟到数据:通常按业务容忍度设定,并把丢数率作为监控指标一起观察。