【问题标题】:maxOffsetsPerTrigger vs number of cores in the spark clustermaxOffsetsPerTrigger 与 spark 集群中的核心数
【发布时间】:2022-01-05 00:52:53
【问题描述】:

例如,我的 spark 结构化流式应用程序以 Kafka 作为消息源,下面是不同配置的详细信息。

Kafka 设置

消息来源:kafka

分区:40

输入参数

maxOffsetsPerTrigger : 1000

集群设置

工人数 = 5

核心数/worker = 8

问题

通过上述设置,它是否读取

(1000 * 5 * 8) = 40000 条消息

(1000 * 5) = 5000 条消息

读取 1000 条消息并将其分发到 5 个工作节点?

【问题讨论】:

    标签: apache-spark apache-kafka databricks


    【解决方案1】:

    documentation:

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

    所以它是您列表中的最后一个选项,每个执行程序最多将在每个触发器处理 200 个偏移量,在各个核心之间拆分(25 个偏移量/核心)。但如果您在特定触发期间没有收集到足够的数据,它可能会更小。

    此外,在新版本的 Spark 中,还有其他选项,例如 minOffsetsPerTrigger,如果您的触发周期没有足够的数据需要处理,则可以处理更大的批次。

    【讨论】:

      猜你喜欢
      • 2015-05-03
      • 2018-05-04
      • 2018-04-24
      • 2012-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-28
      相关资源
      最近更新 更多