【问题标题】:Large Windows in Apache Beam pipelineApache Beam 管道中的大窗口
【发布时间】:2021-11-25 02:31:30
【问题描述】:

我有一个关于 Apache Beam 中窗口大小的高级问题。大多数流式传输示例显示使用具有相对较小窗口大小的光束。我们的用例涉及查看包含 15 到 30 天窗口的数据。

我的问题是,有没有人预见到有这么大的窗户会有什么缺点?

【问题讨论】:

    标签: apache-beam


    【解决方案1】:

    如果您有 15 天的窗口,则需要将数据缓冲 15 天,然后才能最终得出答案。大多数拥有流管道的人都对低于此的延迟感兴趣。

    您可以考虑使用偏移量较低的滑动窗口,例如sliding windows 每天生成过去 15 天的数据。如果窗口大小与滑动持续时间的比率很大,这需要每个密钥存储许多中间体(例如,15 天/1 小时的滑动窗口需要 15*24 个中间体)。

    您还可以使用triggers 在窗口“完成”之前获取推测数据。使用触发器,您可以在完整窗口中获取数据 N 天,并不断增长,直到 15 天后窗口最终完成。这需要在处理“早期”结果时更加小心,以避免重复计算(例如,不想将发出的“第 1 天总和”和“第 1-2 天总和”包含在同一个聚合中)。

    【讨论】:

    • 触发方法似乎是最有前途的。感谢您的回复!
    猜你喜欢
    • 2021-12-22
    • 2021-04-13
    • 2018-11-05
    • 1970-01-01
    • 2018-01-05
    • 2022-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多