开发者社区> 问答> 正文

Flink中的Join 批处理优化具体是什么?

Flink中的Join 批处理优化具体是什么?

展开
收起
游客vwuxaq6iqaowc 2021-12-09 16:20:23 572 0
1 条回答
写回答
取消 提交回答
  • 这种差异性本质是算子在数据集有界的情况下的优化。拓展来看,数据集是否有界是 Flink 在判断算子如何执行时的一种优化参数,这也印证了批处理是流处理的特例的理念。因此从编程接口上看,BoundedStream 作为 DataStream 的子类,基于输入的有界性可以提供如下优化:

    提供只可以应用于有界数据流的算子,比如 sort。

    对某些算子可以进行算法上的优化,比如 join。

    此外,批处理还有个特点是不需要在计算时输出中间结果,只要在结束时输出最终结果,这很大程度上避免了处理多个中间结果的复杂性。因此,BoundedStream 还会支持非增量(non-incremental)执行模式。这主要会作用于与 Time Charateritic 相关的算子:

    Processing Time Timer 将被屏蔽。 Watermark 的提取算法不再生效,Watermark 直接从开始时的 -∞ 跳到结束时的 +∞

    2021-12-09 16:20:36
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Flink CDC Meetup PPT - 龚中强 立即下载
Flink CDC Meetup PPT - 王赫 立即下载
Flink CDC Meetup PPT - 覃立辉 立即下载