【发布时间】: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