0
Apache Flinkを使用して、2つの異なるアルゴリズムを使用してデータストリームを処理しようとしています。私の擬似コードは次のとおりです。Apache Flinkプロセスストリームを複数回処理する
env = getEnvironment();
DataStream<Event> inputStream = getInputStream();
// How to replicate the input stream?
Array[DataStream<Event>] inputStreams = inputStream.clone()
// apply different operations on the replicated streams
outputOne = inputStreams[0].map(func1);
outputTwo = inputStreams[1].map(func2);
...
outputOne.addSink(sink1);
outputTwo.addSink(sink2);
env.execute();
私はFlinkのドキュメントでいくつかの研究を行いました。ストリームを複製するという概念はないようです。 DataStream.iterate()もDataStream.split()も、私が欲しいものを正確にやっていません。ソースから複数回ストリームを作成する代わりに、ご協力ありがとうございました。
おかげで、私はinputStream.mapが呼ばれた後、InputStreamインスタンスはもう使用できないことを想定しました。だから、Flinkのデータストリームは再利用できますか? –
はい。あなたは好きなだけ多くのストリームをフォークできます。 –