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 
相关问题