数据流很简单,如
kafka - >一些逻辑 - >卡夫卡
和'某些逻辑'这是一个瓶颈所以我想使用更多的线程/任务来增加吞吐量,而不是增加kafka分区(目前为3)。输入和输出主题之间的顺序在这里并不重要。
使用Apache Storm可以轻松完成。我可以为某些逻辑增加螺栓的并行性。我怎么能用Flink做到这一点?更一般的问题是,是否有任何简单的方法可以使用Flink对不同阶段使用不同的并行性?
答案 0 :(得分: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