Apache Beam 中的会话 window gapDuration
Session window gapDuration in Apache beam
我想了解会话 window 在 Apache Beam 中是如何工作的。假设我有以下情况。
- 我指定了 gapDuration 为 4 小时的会话 window。
- 现在发生键为 abc 的事件 1。为此密钥创建了一个新会话,该会话现在将持续 + 4 小时。
- 键为 abc 的事件 2 发生在现在 + 3 小时。所以属于同一个会话
- 我将触发器设置为 AfterWatermark.pastEndOfWindow()。
此触发是否会在现在 + 4 小时发生,或者会话会因发生在现在 + 3 小时的事件而延长,因此触发会在现在 + 3 + 4 小时发生?
会话 window 将在 now + 3 + 4
时触发(即,在 gapSize
一段时间内没有该键的新元素之后)。
会话 windows 被称为“可合并 windows”,因为它们可以扩展并且没有固定大小,如 FixedWindows 或 SlidingWindows。
如果您想了解更多信息,请参阅 talk 我在 Apache Beam 学习月
中提供的关于 Windows 的内容
我想了解会话 window 在 Apache Beam 中是如何工作的。假设我有以下情况。
- 我指定了 gapDuration 为 4 小时的会话 window。
- 现在发生键为 abc 的事件 1。为此密钥创建了一个新会话,该会话现在将持续 + 4 小时。
- 键为 abc 的事件 2 发生在现在 + 3 小时。所以属于同一个会话
- 我将触发器设置为 AfterWatermark.pastEndOfWindow()。
此触发是否会在现在 + 4 小时发生,或者会话会因发生在现在 + 3 小时的事件而延长,因此触发会在现在 + 3 + 4 小时发生?
会话 window 将在 now + 3 + 4
时触发(即,在 gapSize
一段时间内没有该键的新元素之后)。
会话 windows 被称为“可合并 windows”,因为它们可以扩展并且没有固定大小,如 FixedWindows 或 SlidingWindows。
如果您想了解更多信息,请参阅 talk 我在 Apache Beam 学习月
中提供的关于 Windows 的内容