Apache flink 如何使用处理时间模型检查流中项目的内部flink时间戳?

Apache flink 如何使用处理时间模型检查流中项目的内部flink时间戳?,apache-flink,Apache Flink,我希望在流中标记数据到达flink的时间,以便执行一些计算。我知道当使用事件时间模型时,我可以直接控制它,但我希望有一种简单的方法来发现flink在流上做窗口决策时使用的时间戳。flink支持三种模式来处理时间: 处理时间:根据每个操作员的当前时间处理事件 事件时间:事件是与手动分配的时间戳相关的进程 摄取时间:事件根据Flink摄取事件时自动分配的时间戳进行处理 根据您的描述,您似乎在寻找摄入时间。在内部,摄取时间与事件时间一样,但区别在于时间戳是自动分配的(水印是自动生成的) 时间模式通

我希望在流中标记数据到达flink的时间,以便执行一些计算。我知道当使用事件时间模型时,我可以直接控制它,但我希望有一种简单的方法来发现flink在流上做窗口决策时使用的时间戳。

flink支持三种模式来处理时间:

  • 处理时间:根据每个操作员的当前时间处理事件
  • 事件时间:事件是与手动分配的时间戳相关的进程
  • 摄取时间:事件根据Flink摄取事件时自动分配的时间戳进行处理
根据您的描述,您似乎在寻找摄入时间。在内部,摄取时间与事件时间一样,但区别在于时间戳是自动分配的(水印是自动生成的)

时间模式通过
StreamExecutionEnvironment.setStreamTimeCharacteristic()
方法设置


除了
ProcessFunction
之外,事件时间和摄取时间时间戳不暴露于任何函数。
ProcessFunction
可以通过
Context.timestamp()
方法读取
ProcessFunction.processElement()
中事件的时间戳

Flink支持三种模式来处理时间:

  • 处理时间:根据每个操作员的当前时间处理事件
  • 事件时间:事件是与手动分配的时间戳相关的进程
  • 摄取时间:事件根据Flink摄取事件时自动分配的时间戳进行处理
根据您的描述,您似乎在寻找摄入时间。在内部,摄取时间与事件时间一样,但区别在于时间戳是自动分配的(水印是自动生成的)

时间模式通过
StreamExecutionEnvironment.setStreamTimeCharacteristic()
方法设置


除了
ProcessFunction
之外,事件时间和摄取时间时间戳不暴露于任何函数。
ProcessFunction
可以通过
Context.timestamp()
方法读取
ProcessFunction.processElement()
中事件的时间戳

使用摄取时间有效,并且您关于查看ProcessFunction的提示被证明是有用的。使用摄取时间有效,并且您关于查看ProcessFunction的提示被证明是有用的。