Apache Beam 中的处理时间和事件时间有什么区别
What's the difference between Processing Time and Event Time in Apache Beam
根据 Apache Beam 文档
“event time” determined by the timestamp on the data element itself
“processing time”, determined by the clock on the system processing the element
我的数据是一个 json 文件,我的字段 none 是一个时间戳。
在这种情况下,我的活动时间是多少?
我正在通过 Pub/Sub 摄取数据并使用 Cloud Dataflow
处理数据
在这种情况下,"event time" 是事件发布到主题的时间。因此,例如,如果您的数据流无法以发布频率处理已发布的事件,那么事件时间就会滞后,因此您的数据流中的系统延迟会增加。
理解这两个概念对于使用 Beam windows 至关重要。事件时间(在 PubSub 主题中发布的事件的生成)与数据流在流模式下的实际处理之间的差异是 lag.
Dataflow 观察到这种滞后,您可以打印 Stackdriver 指标。它由 Dataflow 计算并命名为 Watermark
。这有点滞后。
当你定义windows时,你可以根据这个Watermark来设置trigger,之后到达的数据。观察windows本身可以根据这个水印关闭。一开始不是很直观,但真的很有帮助和强大!
中找到更多详细信息
事件时间是事件实际发生的时间。事件时间必须从事件中的字段派生,例如:时间戳字段。
Processing time 是事件被处理的时间。
在您的情况下,您无法提取事件时间。
根据 Apache Beam 文档
“event time” determined by the timestamp on the data element itself
“processing time”, determined by the clock on the system processing the element
我的数据是一个 json 文件,我的字段 none 是一个时间戳。 在这种情况下,我的活动时间是多少?
我正在通过 Pub/Sub 摄取数据并使用 Cloud Dataflow
处理数据在这种情况下,"event time" 是事件发布到主题的时间。因此,例如,如果您的数据流无法以发布频率处理已发布的事件,那么事件时间就会滞后,因此您的数据流中的系统延迟会增加。
理解这两个概念对于使用 Beam windows 至关重要。事件时间(在 PubSub 主题中发布的事件的生成)与数据流在流模式下的实际处理之间的差异是 lag.
Dataflow 观察到这种滞后,您可以打印 Stackdriver 指标。它由 Dataflow 计算并命名为 Watermark
。这有点滞后。
当你定义windows时,你可以根据这个Watermark来设置trigger,之后到达的数据。观察windows本身可以根据这个水印关闭。一开始不是很直观,但真的很有帮助和强大!
中找到更多详细信息事件时间是事件实际发生的时间。事件时间必须从事件中的字段派生,例如:时间戳字段。
Processing time 是事件被处理的时间。
在您的情况下,您无法提取事件时间。