0

目前,我在 Scala 中有一个 GLUE ETL 脚本。

以下是我的 GLUE 脚本设置:

  • Spark 2.4、Scala 2(胶水版本 2.0)
  • Worker 类型:G1.X(推荐用于内存密集型工作)
  • 工人人数:10

我正在读取数据库中的 60 GB 数据,我正在像这样在数据框中读取这些数据

val largeDF = glueContext.getCatalogSource(database = "", tableName = "").getDynamicFrame().toDF()

val smallDF = glueContext.getCatalogSource(database = "", tableName = "").getDynamicFrame().toDF()

val result = largeDF.join(broadcast(smallDF) , smalldf("col") === largeDF("col"), "leftsemi")

result.show(false)

但是,这运行了 6 个小时,并失败并出现以下错误

Exception in task 0.0 in stage 3.0 (TID 77)
java.io.IOException: No space left on device

我需要增加工人数量吗?计算在 AWS Glue 中读取大数据的理想设置的最佳方法是什么?

4

0 回答 0