数据流在Flink转换中重用

时间:2017-10-09 08:35:13

标签: apache-flink flink-streaming

我有一个DataStream(假设是inStream),我需要在其上应用两个不同的转换列表来生成两个不同的输出流(比如说outStream1和outStream2)。

inStream也是在源流上应用复杂的转换列表后构建的。

现在,我的问题是,由于inStream需要在两个转换分支中重用,有没有办法缓存这个inStream并在两个分支中重用它?

Spark中解决此问题的方法是使用rdd.cache()方法,其中inStream缓存在内存中并在转换中重复使用。我想知道Flink中是否存在类似的这样的构造来解决这个问题。

另一个问题是如何在Flink中触发程序执行? 在Spark中,程序被懒惰地评估,并且在遇到Spark动作时触发执行。

根据我对Flink的理解(请更正,如果错误),Flink JobManager会创建一个决定程序流程的执行图。但是,它是否自己重复使用上面指定的DataStream?

由于

0 个答案:

没有答案