AWS Glue执行程序内存限制

时间:2018-02-28 16:21:46

标签: amazon-web-services apache-spark aws-glue

我发现AWS Glue设置执行​​程序的实例,其内存限制为5 Gb --conf spark.executor.memory=5g,有时,在大数据集上,它会失败并显示java.lang.OutOfMemoryError。驱动程序实例--spark.driver.memory=5g也是如此。 有没有增加这个值的选项?

5 个答案:

答案 0 :(得分:4)

  1. 打开胶水>作业>编辑您的作业>脚本库和作业参数(可选)>底部附近的作业参数
  2. 设置以下内容:  密钥:--conf 值:spark.yarn.executor.memoryOverhead = 1024 spark.driver.memory = 10g

答案 1 :(得分:3)

您可以通过编辑作业和添加作业参数来覆盖参数。我使用的关键和价值在这里:

: - conf

:spark.yarn.executor.memoryOverhead = 7g

这似乎违反直觉,因为设置键实际上是在值中,但它被识别出来了。因此,如果您尝试设置spark.yarn.executor.memory,则以下参数是合适的:

: - conf

:spark.yarn.executor.memory = 7g

答案 2 :(得分:2)

official glue documentation提示胶水不支持自定义火花配置。

  

AWS Glue内部还使用了几个参数名称,   您不应该设置:

     

-conf-AWS Glue内部。不要设置!

     

-debug-AWS Glue内部。不要设置!

     

-mode-AWS Glue内部。不要设置!

     

-JOB_NAME-AWS Glue内部。不要设置!

关于解决此问题的更好建议吗?

答案 3 :(得分:1)

当我有一个高度偏斜的数据集时,我遇到了这样的内存错误。就我而言,我有一桶json文件,其中包含根据json中指示的事件类型而不同的动态有效负载。无论我是否使用此处指示的配置标志并增加了DPU,我始终遇到内存不足错误。事实证明,我的事件高度偏向于两种事件类型,它们占总数据集的90%以上。在事件类型中添加“盐”并分解了高度偏斜的数据后,我没有遇到任何内存不足错误。

这是AWS EMR的博客文章,其中讨论了数据高度偏斜的同一“内存不足”错误。 https://medium.com/thron-tech/optimising-spark-rdd-pipelines-679b41362a8a

答案 4 :(得分:0)

尽管有aws文档指出不应传递--conf参数,但我们的支持团队却告诉我们传递--conf spark.driver.memory=10g,从而更正了我们遇到的问题