在EMR笔记本jupyter中设置spark.driver.maxResultSize

Ami*_*mar 3 amazon-emr apache-spark spark-notebook jupyter-notebook

我在 emr 中使用 Jupyter Notebook 来处理大块数据。在处理数据时我看到这个错误:

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)
Run Code Online (Sandbox Code Playgroud)

看来我需要更新 Spark 配置中的 maxResultsSize 。如何从 jupyter 笔记本设置 Spark maxResultsSize。

已经检查过这篇文章:Spark 1.4增加maxResultSize内存

另外,在 emr 笔记本中,已经给出了 Spark 上下文,有什么方法可以编辑 Spark 上下文并增加 maxResultsSize

任何线索都会非常有帮助。

谢谢

dee*_*k28 9

您可以在 Spark 会话开始时设置 livy 配置 请参阅https://github.com/cloudera/livy#request-body

将其放在代码的开头

%%configure -f
{"conf":{"spark.driver.maxResultSize":"15G"}}
Run Code Online (Sandbox Code Playgroud)

通过在下一个单元格中打印来检查会话设置:

print(spark.conf.get('spark.driver.maxResultSize'))
Run Code Online (Sandbox Code Playgroud)

这应该可以解决问题