Sad*_*daf 4 frameworks apache-flink apache-nifi flink-streaming
我关于 Apache Flink 框架的问题。
有没有办法在单个 flink 作业中支持多个流源,如 kafka 和 twitter?有什么解决方法。我们可以在单个 flink 作业中一次处理多个流源吗?
我目前在 Spark Streaming 工作,这是那里的限制。
这是否可以通过其他流框架(如 Apache Samza、Storm 或 NIFI)实现?
期待已久的回应。
是的,这在 Flink 和 Storm 中是可能的(不知道 Samza 或 NIFI ......)
您可以根据需要添加任意数量的源操作符,每个操作符都可以从不同的源使用。
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
Properties properties = ... // see Flink webpage for more details
DataStream<String> stream1 = env.addSource(new FlinkKafkaConsumer08<>("topic", new SimpleStringSchema(), properties);)
DataStream<String> stream2 = env.readTextFile("/tmp/myFile.txt");
DataStream<String> allStreams = stream1.union(stream2);
Run Code Online (Sandbox Code Playgroud)
对于使用低级 API 的 Storm,模式类似。请参阅Apache Storm bolt 从不同的 spout/bolt 接收多个输入元组