首页 > 解决方案 > 流式传输:翻转窗口与微批处理

问题描述

流处理中 5 秒的翻转窗口与微批处理时 5 秒的微批处理有何不同?两者都有一个 5 秒的非重叠窗口,在此期间它们处理记录然后继续。

我知道流处理中有时间的概念:事件、摄取和处理时间。我们能否推断出使用微批处理的流处理只不过是使用具有摄取时间或处理时间的翻转窗口的流处理?

标签: apache-sparkspark-streamingapache-flinkflink-streamingstream-processing

解决方案


经过更多研究,这是我的结论

  • Spark 的早期版本至少为 1.6,据我所知(请随时纠正我),流处理的概念基于微批处理,其中流处理作为批处理的特殊情况处理,以便可以处理流在有限(非常短)持续时间的微批次中。

  • 翻转窗口是进化流处理模型的一部分(其中数据不断进入一个巨大的无界表,而批处理被视为流处理的一种特殊情况),它的工作原理是:

    1. 挡住了无界巨窗/桌子的“过去”
    2. 然后期待在未来的有限持续时间内进入这个巨大窗口的入站数据,比如 10
    3. 处理它
    4. 返回第 1 步

因此,作为黑盒的微批处理与翻转窗口非常相似,但区别在于用于实现窗口处理的底层架构/设计/方法。

资料来源:


推荐阅读