0
我正在尝试使用Apache Flink来处理使用两种不同算法的数据流。我的伪代码如下: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 DataStreams可以被重用? –
是的。你可以根据你的喜好分流尽可能多的流。 –