【问题标题】:Any equivalent feature of Spark RDD.persist(..) in Flink?Flink 中 Spark RDD.persist(..) 的任何等效功能?
【发布时间】:2020-11-18 21:48:14
【问题描述】:

Spark RDD.persist(..) 可以帮助避免重复的 RDD 评估。

Flink 中是否有相同的功能?

其实我想知道如果我像下面这样编码,Flink 会评估一次还是两次dataStream

val dataStream = env.addSource(...).filter(...).flatMap(...)

val s1 = dataStream.keyBy(key1).timeWindow(...).aggregate(..)

val s2 = dataStream.keyBy(key2).timeWindow(...).reduce(...)

【问题讨论】:

    标签: apache-flink flink-streaming flink-batch


    【解决方案1】:

    在 Flink 中不需要 persist,因为在其上应用了多个运算符的 DataStream 被评估一次并将所有传出消息复制到每个下游运算符。

    你的情况下的程序被执行为

                                     /-hash-> keyBy(key1) -> ...
     Source -> Filter -> FlatMap ->-<
                                     \-hash-> keyBy(key2) -> ...
    

    【讨论】:

    • 感谢您的回复!
    猜你喜欢
    • 1970-01-01
    • 2023-03-31
    • 1970-01-01
    • 1970-01-01
    • 2023-03-16
    • 1970-01-01
    • 2021-05-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多