0

的數據流是簡單的像阿帕奇弗林克,比卡夫卡分區多個線程

卡夫卡 - >一些邏輯 - >卡夫卡

和「一些邏輯」是一個瓶頸這裏,所以我想使用多個線程/任務來增加吞吐量而不是增加kafka分區(目前是3)。輸入和輸出主題之間的順序在這裏並不重要。

它可以很容易地與Apache Storm完成。我可以爲某些邏輯增加螺栓的並行性。我如何用Flink做到這一點?更普遍的問題是,是否有任何簡單的方法在Flink的不同階段使用不同的並行性?

回答

1

這在Flink中很簡單。您可以使用setParallelism()方法指定每個運算符的並行性:

DataStream<String> rawEvents = env 
    .addSource(new FlinkKafkaConsumer010("topic", new SimpleStringSchema(), props)); 

DataSteam<String> mappedEvents = rawEvents 
    .flatMap(new Tokenizer()) 
    .setParallelism(64); // set parallelism to 64 
相關問題