我正在emr中使用Jupyter笔记本来处理大块数据。在处理数据时,我看到此错误:
An error occurred while calling z:org.apache.spark.api.python.PythonRDD.collectAndServe.
: org.apache.spark.SparkException: Job aborted due to stage failure: Total size of serialized results of 108 tasks (1027.9 MB) is bigger than spark.driver.maxResultSize (1024.0 MB)
似乎我需要在spark配置中更新maxResultsSize。如何从jupyter笔记本中设置spark maxResultsSize。
已检查此帖子:Spark 1.4 increase maxResultSize memory
此外,在emr笔记本中,已经提供了spark上下文,是否有任何方法可以编辑spark上下文并增加maxResultsSize
任何线索都将非常有帮助。
谢谢
您可以在Spark会话开始时设置livy配置参见https://github.com/cloudera/livy#request-body
将其放在代码的开头
%%configure -f
{"conf":{"spark.diver.maxResultSize":"15G"}}
通过在下一个单元格中打印会话来检查会话设置:
print(spark.conf.get('spark.diver.maxResultSize'))
这应该可以解决问题