Spark Streaming Kafka Receivers API - numPartitions

问题描述 投票:0回答:1

我们正在使用spark-streaming-kafka-0-8接收器。我们无法通过增加numPartitions来增加消耗事件的数量。似乎增加的numPartition不会影响性能。

KafkaUtils.createStream方法有一个topic_name到numPartitions映射,而每个分区应该在它自己的线程中使用。

目前我们正在与:

KafkaUtils.createStream[Integer, Event, IntegerDecoder, EventDecoder](ssc,
  Configuration.kafkaConfig, scala.collection.immutable.Map(topic -> 1),
  StorageLevel.MEMORY_AND_DISK)

我希望使用scala.collection.immutable.Map(topic - > 10)会比使用1个线程时吸引更多的事件,但它并没有提高性能(我确保每个接收器实际上使用了10个线程)

但是,如果我创建更多Kafka接收器(根据我的理解,它完全等同于增加线程),性能确实会提高。

这是0-8版本的问题吗?增加numPartition会增加消费事件的数量吗?为什么添加接收器会提高性能,而增加numPartition却不会?

scala apache-kafka spark-streaming
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.