【问题标题】:How many executors are assigned to listen to a kafka topic in Spark-kafka Integration in Spark 2.1?在 Spark 2.1 中的 Spark-kafka 集成中,分配了多少个执行者来收听一个 kafka 主题?
【发布时间】:2019-02-10 06:54:44
【问题描述】:

我有一个 Spark 集群,总共有 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 读取时,如何限制结构化流中微批量的大小?

【问题讨论】:

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


    【解决方案1】:

    Structured Steaming 对每个 Kafka 主题分区使用一个分区。由于单个分区由单个核心处理,因此它最多会使用分配给应用程序的执行器数量。

    批处理中处理的消息数量主要取决于使用的触发器(以及因此批处理间隔,如果使用批处理的话)但是看看maxOffsetsPerTrigger

    每个触发间隔处理的最大偏移数的速率限制。指定的总偏移量将按比例分配到不同卷的 topicPartitions。

    【讨论】:

      猜你喜欢
      • 2016-03-29
      • 1970-01-01
      • 2020-03-11
      • 2023-03-25
      • 1970-01-01
      • 2016-07-29
      • 2018-08-31
      • 1970-01-01
      • 2019-01-18
      相关资源
      最近更新 更多