【问题标题】:Apache Flink, more threads than Kafka partitionsApache Flink,比 Kafka 分区更多的线程
【发布时间】:2017-07-19 16:29:52
【问题描述】:

数据流很简单

kafka -> 一些逻辑 -> kafka

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

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

【问题讨论】:

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


    【解决方案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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-23
      • 2018-08-11
      • 1970-01-01
      • 2017-08-20
      • 2014-11-11
      • 2018-12-03
      相关资源
      最近更新 更多