数据流在Flink转换中重复使用

问题描述 投票:1回答:1

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

在源流上应用复杂的转换列表之后,也构造了inStream。

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

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

另一个问题是,如何在Flink中触发程序执行?在Spark中,程序会被延迟评估,并在遇到Spark操作时触发执行。

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

谢谢

apache-flink flink-streaming
1个回答
0
投票

也许您要求Flink的Side Output可以满足。

© www.soinside.com 2019 - 2024. All rights reserved.