[英]Multiple Streams support in Apache Flink Job
關於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);
對於使用低級API的Storm,模式類似。 請參閱An Apache Storm bolt從不同的spout / bolt接收多個輸入元組
已經涵蓋了一些解決方案,我只想補充一點,在NiFi流程中,您可以攝取許多不同的來源,並單獨或一起處理它們。
也可以攝取源,並讓多個團隊在此上構建流,而無需多次攝取數據。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.