【问题标题】:How to set batch size in one micro-batch of spark structured streaming如何在一个微批量的 Spark 结构化流中设置批量大小
【发布时间】:2020-09-19 01:38:54
【问题描述】:

我正在从 Kafka 源读取流数据,但是来自 kafka 的所有数据都是在单个微批处理中读取的。

spark.readStream.format("kafka").option("kafka.bootstrap.servers",bootstrap_servers).option("subscribe", topics).option("startingOffsets", "earliest").load()

哪个参数或选项用于在一个微批次的 spark 结构化流中设置最大批次大小?

【问题讨论】:

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


    【解决方案1】:

    使用maxOffsetsPerTrigger 限制消息数量。

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

    【讨论】:

    • 它不能正常工作。就我而言,kafka 有大约 1K 条记录,maxOffsetsPerTrigger 设置为 100,但我仍然得到 100 多个微批次,除了 2 / 3 批次之外,大多数批次都是空的。
    • 您的主题有多少个分区? maxOffsetsPerTrigger 是每个分区。
    • 主题有5个分区
    猜你喜欢
    • 1970-01-01
    • 2019-01-14
    • 2021-02-06
    • 2021-12-03
    • 1970-01-01
    • 1970-01-01
    • 2015-09-14
    • 1970-01-01
    • 2023-03-21
    相关资源
    最近更新 更多