什么是更好的 - 每个消费者更多的数据接收器或更多线程?

时间:2015-09-09 13:22:09

标签: apache-spark apache-kafka spark-streaming

在Spark Streaming文档中,他们建议并行化数据接收(link)。他们建议创建多个数据接收器的示例:

val numStreams = 5
val kafkaStreams = (1 to numStreams).map { i => KafkaUtils.createStream(...) }

这样做,您将获得5个内核,幸运地在5台不同的机器上接收数据。但就性能而言,为什么这个选项比拥有5个线程的数据接收器更好? (例如,对于具有超过5个核心的机器)

val numThreads = 5
val topicList = Map("topic1" -> numThreads)
val kafkaStream = KafkaUtils.createStream(ssc, kafkaParams, topics, ...)

0 个答案:

没有答案