我遇到了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中的物理文件中删除了几层。
1条答案
按热度按时间wn9m85ua1#
你可以通过在Spark配置中传递这个命令来禁用Spark自动广播。
配置(“Spark.sql.自动广播连接阈值”,-1)