使用 foreachBatch 的结构化流编写器不尊重 shuffle.partitions 参数

问题描述 投票:0回答:1

我们正在使用 foreachBatch 功能在结构化流上运行重复数据删除操作。

但是,写入操作似乎并不遵守我们在工作簿中设置的随机分区数

spark.conf.set("spark.sql.shuffle.partitions","auto")

随机分区的数量似乎是默认的 200,这在我们的例子中并不是最优的。另外 - 在将 pyspark 版本升级到 3.5.0 之前 - 作业不断崩溃。现在有 200 个作业运行很长时间。

有什么建议吗?

apache-spark pyspark spark-structured-streaming
1个回答
0
投票

回答我自己的问题:需要在运行流之前设置spark.sql.shuffle.partitions,并且不能使用“auto”。

© www.soinside.com 2019 - 2024. All rights reserved.