在哪里定义特定消费者群体的消费者数量?

时间:2016-10-03 11:11:22

标签: scala spark-streaming kafka-consumer-api

我正在使用Spark Streaming来使用来自Kafka主题的数据。

如果我使用DirectStream方法,我无法定义consumer groupnumber of consumers

例如:

val messages = KafkaUtils.createDirectStream[String, String, StringDecoder, StringDecoder](ssc, kafkaParams, topicsSet)

我在哪里定义此群组的消费者群体和消费者数量?

如果我使用基于Receiver的方法,我可以选择定义consumer groupnumber of threads [此群组中的消费者数量]。

基于接收方的方法:

val topicMap = topics.split(",").map((_, numThreads.toInt)).toMap
val lines = KafkaUtils.createStream(ssc, zkQuorum, group, topicMap).map(_._2)

1 个答案:

答案 0 :(得分:1)

使用Spark Streaming DirectStream方法时没有使用Consumer Group概念。

根据Spark Streaming Document

  

使用directStream,Spark Streaming将创建尽可能多的RDD分区   因为要使用Kafka分区,所有分区都会读取数据   来自卡夫卡并行。所以Kafka之间有一对一的映射   和RDD分区