什么是FlinkSQL中的时间属性(Time Attribute)?有哪几种类型?

提问者:帅平 问题分类:面试刷题
什么是FlinkSQL中的时间属性(Time Attribute)?有哪几种类型?
1 个回答
我怕我伸手不及松手为空
我怕我伸手不及松手为空
Flink SQL中的时间属性(Time Attribute)​是用于流处理的时间语义定义,决定了数据何时被处理及窗口计算的触发时机。它与批处理的静态时间不同,能动态反映数据流的时间特性。具体类型有:
1、事件时间(Event Time)​:数据本身携带的时间戳(如日志中的event_time字段),表示事件实际发生时间。
CREATE TABLE Orders (
  order_id STRING,
  amount DECIMAL(10,2),
  event_time TIMESTAMP(3),
  WATERMARK FOR event_time AS event_time - INTERVAL '5' SECOND
);
2、摄入时间(Ingestion Time):数据进入Flink系统的时间(由Source算子分配)。
CREATE TABLE Logs (
  log_id STRING,
  content STRING,
  ts TIMESTAMP(3) METADATA FROM 'timestamp'
) WITH (...);
3、处理时间(Processing Time)​:当前系统的物理时间(即执行作业的机器时间)。
SELECT 
  TUMBLE_START(PROCESS_TIME(), INTERVAL '1' MINUTE), COUNT(*) 
FROM Clicks 
GROUP BY TUMBLE(PROCESS_TIME(), INTERVAL '1' MINUTE);
发布于:1周前 (05-27) IP属地:
我来回答