【问题标题】:Spark 2.3.1 Structured Streaming Input RateSpark 2.3.1 结构化流输入速率
【发布时间】:2018-09-03 04:01:51
【问题描述】:

我想知道是否有办法在 Spark 结构化流中指定小批量的大小。这不仅仅是说明小批量间隔(触发器),我想说明每个间隔在小批量(数据帧)中可以有多少行。 有没有办法做到这一点?

除了执行此操作的一般能力之外,我特别需要在测试场景中应用它,我有一个 MemoryStream。我希望 Spark 使用 MemoryStream 中的一定数量的数据,而不是一次获取所有数据,以实际查看整个应用程序的行为方式。我的理解是 MemoryStream 数据结构需要在启动作业之前填充。因此,我如何查看小批量处理行为,spark 是否能够在我给定的时间间隔内摄取 MemoryStream 的全部内容?

EDIT1

在 Kafka 集成中,我发现了以下内容:

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

但这仅适用于 KAFKA 集成。我也看过

ma​​xFilesPerTrigger:每个触发器中要考虑的最大新文件数

所以看起来事情是根据源类型定义的。因此,有没有办法控制如何从 MEMORYSTREAM[ROW] 消耗数据?

【问题讨论】:

    标签: scala spark-streaming


    【解决方案1】:

    寻找以下可以解决您问题的人:

     1.spark.streaming.backpressure.initialRate 
     2.spark.streaming.backpressure.enabled
    

    【讨论】:

    • 只是为了清楚,因为这让我感到困惑。我的理解是 Spark Structured 流是建立在 Spark SQL 之上的,而不是 Spark Streaming。 NoneTheless 你会说适用于 Spark Streaming 的属性也适用于 Spark Structured Streaming 吗?也许我应该为此创建一个单独的问题?
    • 这不仅适用于 spark 流式传输,也不适用于 spark 结构化流式传输吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-27
    • 2017-05-04
    • 1970-01-01
    • 2020-07-17
    • 1970-01-01
    相关资源
    最近更新 更多