In consumer we use a topic count map to set how many stream we want to split the topic. What's the relation between kafka partition number and consumer stream number? Seems stream number should be less or equal to partition number? Because if we set stream number bigger than partition number then some stream is empty or some partition is split.
Did you get my previous answer? I am including it below.
Currently, partition is the smallest unit that we distribute data among consumers (in the same consumer group). So, if the # of consumers is larger than the total number of partitions in a Kafka cluster (across all brokers), some consumers will never get any data.
On Wed, Dec 19, 2012 at 3:07 AM, 永辉 赵 <[EMAIL PROTECTED]> wrote:
Thanks Jun, I didn't get you previous answer. I think I didn't state my question clearly.
I know the number of the consumer in one consumer group should be less or equal than partition number. But my question is about the relation between the stream number in one consumer and partition number subscribed by this consumer.
For example this piece of code create only one stream in the consumer, so all partitions data will go into one stream?
Map<String, Integer> topicCountMap = new HashMap<String, Integer>(); topicCountMap.put(topic, new Integer(1)); Map<String, List<KafkaStream<byte, byte>>> consumerMap = consumer.createMessageStreams(topicCountMap); KafkaStream<byte, byte> stream = consumerMap.get(topic).get(0); ConsumerIterator<byte, byte> it = stream.iterator();
In your example, yes, all partitions go to one stream. In general, each stream maps 1 or more partitions.
On Wed, Dec 19, 2012 at 8:32 AM, Yonghui Zhao <[EMAIL PROTECTED]> wrote:
NEW: Monitor These Apps!
Apache Lucene, Apache Solr and all other Apache Software Foundation project and their respective logos are trademarks of the Apache Software Foundation.
Elasticsearch, Kibana, Logstash, and Beats are trademarks of Elasticsearch BV, registered in the U.S. and in other countries. This site and Sematext Group is in no way affiliated with Elasticsearch BV.
Service operated by Sematext