kafka集成中,有多少执行者被分配来听一个Kafka主题?

vcudknz3  于 2021-06-06  发布在  Kafka
关注(0)|答案(1)|浏览(222)

我一共有17个执行者。我已经将spark 2.1与kafka集成在一起,并从如下主题中读取数据:

val df = spark
  .readStream
  .format("kafka")
  .options("kafka.bootstrap.servers","localhost:9092")
  .options("subscribe","test")
  .load

现在我想知道,当我以集群模式提交spark应用程序时,有多少执行者(总共17个)将被分配来收听Kafka主题并在结构化流媒体中创建微批处理。
另外,当我阅读Kafka的内容时,我如何限制结构化流媒体中微批量的大小?

hjzp0vay

hjzp0vay1#

结构化的流处理在每个kafka主题分区中使用一个分区。由于单个分区是由单个核心处理的,因此它最多只能使用分配给应用程序的执行器中的这个数量。
一个批处理中处理的消息的数量主要取决于所使用的触发器(如果使用了批处理,则结果是批处理间隔),但是请看 maxOffsetsPerTrigger :
每个触发间隔处理的最大偏移量的速率限制。指定的偏移总数将按比例拆分为不同卷的主题分区。

相关问题