Glue 3.0 / Spark 3.1迁移-意外的广播连接超过spark.driver.maxResultSize

g9icjywg  于 2023-03-03  发布在  Apache
关注(0)|答案(1)|浏览(167)

我遇到了this SO post中描述的类似问题:

Caused by: org.apache.spark.SparkException: Job aborted due to stage failure: Total size of serialized results of [N] tasks is bigger than spark.driver.maxResultSize (1024.0 MB)

这在以前的Glue 2.0和Spark 2.4上是有效的,当我尝试使用Glue 3.0和Spark 3.1时,它就坏了。
由于我没有进行显式广播,我相信这是因为Spark 3.1在运行时自动将连接转换为广播。
我的问题是:如何跟踪并修复Spark对大小或统计数据的误判?连接是在两个 Dataframe 之间进行的,每个 Dataframe 都是其他 Dataframe 连接或聚合的结果,因此从S3中的物理文件中删除了几层。

wn9m85ua

wn9m85ua1#

你可以通过在Spark配置中传递这个命令来禁用Spark自动广播。
配置(“Spark.sql.自动广播连接阈值”,-1)

相关问题