簡體   English   中英

Apache Flink Job中支持多個Streams

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM