【问题标题】:how can i avoid OOMs error in AWS Glue Job in pyspark如何在 pyspark 中的 AWS Glue 作业中避免 OOM 错误
【发布时间】:2022-05-13 15:42:44
【问题描述】:

我在使用 40 个工作人员运行 AWS Glue 作业并处理 40GB 数据时遇到此错误

Caused by: org.apache.spark.memory.SparkOutOfMemoryError: error while calling spill() on org.apache.spark.util.collection.unsafe.sort.UnsafeExternalSorter@5fa14240 : No space left on device

如何优化我的工作以避免在 pyspark 上出现此类错误

这是指标的图片 glue_metrics

【问题讨论】:

  • 使用的工人类型?
  • G.1X(推荐用于内存密集型作业)@PrabhakarReddy
  • 你试过G2.X工人吗?每个 G2.X worker 有 32GB 内存,是 G1.X worker 内存的两倍。此外,启用作业指标(当您在控制台中编辑作业时,它处于监控选项之下)并在执行作业后查看“作业执行:活动执行者、已完成阶段和最大需要执行者”指标。将所需的最大执行器与活动执行器进行比较。如果需要最大值 > 活跃,您的工作可能会受益于额外的工人。
  • 我也在标准和 G2.X 工作人员上运行它,结果相同。 @jscott,我没有得到什么是错的。即使在指标中,cpu 上也有 50% 的使用率和 50% 的负载
  • @jscott 我使用原生 spark 在 Glue 上运行作业,它没有创建与 Job Execution: Active Executors, Completed Stages & Maximum Needed Executors 和 Data Shuffle Across Executors 相关的指标。我没有找到 cloudwatch 指标

标签: python apache-spark pyspark aws-glue


【解决方案1】:

【讨论】:

  • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 - From Review
猜你喜欢
  • 2021-07-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-21
  • 1970-01-01
  • 1970-01-01
  • 2021-04-16
相关资源
最近更新 更多