Spark报Total size of serialized results of 12189 tasks is bigger than spark.driver.maxResultSize

曾经终败给现在 2023-02-21 06:50 105阅读 0赞

一.异常信息

  1. Total size of serialized results of 12189 tasks is bigger than spark.driver.maxResultSize 1024M.
  2. Total size of serialized results of 12082 tasks is bigger than spark.driver.maxResultSize 1024M.
  3. Total size of serialized results of 12131 tasks is bigger than spark.driver.maxResultSize 1024M.
  4. ...

二.原因分析及解决方案

spark默认的maxResultSize为1024M【也就是1G】,当执行action行为时,结果数据会汇总到主节点【driver节点】,当数据量很大【或数据倾斜】且没有进行合理重分区时,就有可能出现这种情况。解决方案:

  1. 调整执行逻辑,避免汇总到主节点的数据过多。
  2. 重新分区,调用repartition(nums),参考数据的规模。
  3. 调大maxResultSize大小为2G。

调大maxResultSize方式:

  1. 在程序中增加配置:.config("spark.driver.maxResultSize", "2G")
  2. 提交命令增加参数:--conf spark.driver.maxResultSize=2048M

发表评论

表情:
评论列表 (有 0 条评论,105人围观)

还没有评论,来说两句吧...

相关阅读