Apache Flink,比Kafka分区更多的线程

时间:2017-07-19 16:29:52

标签: parallel-processing apache-kafka apache-flink flink-streaming

数据流很简单,如

kafka - >一些逻辑 - >卡夫卡

和'某些逻辑'这是一个瓶颈所以我想使用更多的线程/任务来增加吞吐量,而不是增加kafka分区(目前为3)。输入和输出主题之间的顺序在这里并不重要。

使用Apache Storm可以轻松完成。我可以为某些逻辑增加螺栓的并行性。我怎么能用Flink做到这一点?更一般的问题是,是否有任何简单的方法可以使用Flink对不同阶段使用不同的并行性?

1 个答案:

答案 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