如何设置Spark结构流的最小输出文件大小?

时间:2019-07-30 02:32:37

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

我正在尝试使用Spark结构化流从Kafka获取数据。
我希望输出文件的大小约为20 MB。
由于我在从Kafka读取数据时使用lateststartingoffset选项,因此大多数文件的大小约为230 KB。
如何使所有输出文件更大超过20MB?
我什至使用maxpffsetpertrigger选项作为100000000,它不起作用。

1 个答案:

答案 0 :(得分:-1)

maxOffsetsPerTrigger属性指定每个触发间隔处理的偏移量,并且根据文档说明写入数据时大小无关

  

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

使用Coalesce(numPartitions)重新分区数据并根据您的要求减少分区数(如果已经这样做但不起作用,请提供一些代码)。根据spark文档:

  

将RDD中的分区数减少为numPartitions。筛选大型数据集后,对于更有效地运行操作很有用。