AWS Glue - Spark 作业 - 如何增加内存限制或更有效地运行?
Posted
技术标签:
【中文标题】AWS Glue - Spark 作业 - 如何增加内存限制或更有效地运行?【英文标题】:AWS Glue - Spark Job - how to increase Memory Limit or run more efficiently? 【发布时间】:2020-03-10 19:45:16 【问题描述】:在运行 Spark (Glue) 作业时 - 在将 Dataframe 写入 S3 期间 - 出现错误:
Container killed by YARN for exceeding memory limits. 5.6 GB of 5.5 GB physical memory used.
Consider boosting spark.yarn.executor.memoryOverhead or
disabling yarn.nodemanager.vmem-check-enabled because of YARN-4714.
有没有简单的治疗方法?
如何优化 Dataframe 到 S3 的写入(以使用更少的内存)?
如何增加容器的内存以便我们有更多的空间来使用它们?
【问题讨论】:
错误信息中已经给出了解决方案。禁用 vmem 检查。 如果您有增加 DPU 内存软限制的支持,您必须增加 DPU 的数量或必须提出 AWS 支持票。 如何禁用 vmem 检查? 【参考方案1】:您可能已经知道,AWS Glue 作业不支持增加内存。但是您可以选择 G1.X 作为 Glue 作业的工人类型。 AWS 建议将其用于内存密集型工作负载。 https://docs.aws.amazon.com/en_us/glue/latest/dg/add-job.html
除此之外,我没有看到任何增加内存的配置选项。
您是否检查了作业运行时指标的内存配置文件?
【讨论】:
如何检查作业运行时指标的内存配置文件? docs.aws.amazon.com/glue/latest/dg/…以上是关于AWS Glue - Spark 作业 - 如何增加内存限制或更有效地运行?的主要内容,如果未能解决你的问题,请参考以下文章
如何克服 AWS Glue 作业中的 Spark“设备上没有剩余空间”错误