我在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
任何线索都将非常有帮助。
谢谢
答案 0 :(得分:3)
您可以在Spark会话开始时设置livy配置 参见https://github.com/cloudera/livy#request-body
将其放置在代码的开头
%%configure -f
{"conf":{"spark.driver.maxResultSize":"15G"}}
通过在下一个单元格中打印会话来检查会话设置:
print(spark.conf.get('spark.diver.maxResultSize'))
这应该可以解决问题
答案 1 :(得分:0)
我目前无法发表评论,因此我将重新回答。接受的答案中有错别字,这使我感到头疼。提防复制/粘贴
潜水者->驱动程序
这是您可以从:)复制/粘贴的答案
%%configure -f
{"conf":{"spark.driver.maxResultSize":"15G"}}