我有一个主题列表(现在是10个),其大小在将来可能会增加。我知道我们可以从每个主题中产生多个线程来使用,但在我的情况下,如果主题数量增加,则从主题中使用的线程数量也会增加,这是我不希望的,因为主题不会太频繁地获取数据,因此线程将处于空闲状态。有没有办法让一个消费者消费所有的主题?如果有,那么我们如何实现它?还有Kafka将如何维护偏移量?如何用python编写?
cuxqih211#
编程语言无关紧要。在提交Spark作业时,只需将执行器的数量设置为1。然而,这比提交您真正需要的文件要慢,所以我不确定您为什么要这样做。如果主题数量增加,则从主题消费的线程数量也会增加这是不正确的。您的上限是执行器数 * 每个执行器的内核数。此外,每个主题的每个分区都将使用线程,而不是每个主题一个线程
1条答案
按热度按时间cuxqih211#
编程语言无关紧要。
在提交Spark作业时,只需将执行器的数量设置为1。
然而,这比提交您真正需要的文件要慢,所以我不确定您为什么要这样做。
如果主题数量增加,则从主题消费的线程数量也会增加
这是不正确的。您的上限是执行器数 * 每个执行器的内核数。
此外,每个主题的每个分区都将使用线程,而不是每个主题一个线程