AWS Glue ETL:读取巨大的 JSON 文件格式进行处理,但出现内存不足错误

AWS Glue ETL: Reading huge JSON file format to process but, got OutOfMemory Error

我正在研究 AWS-Glue ETL 部分,用于读取巨大的 json 文件(仅测试 1 个文件和大约 9 GB。)以在 ETL 过程中工作,但是,我从 AWS Glue 中收到错误 java.lang.OutOfMemoryError: Java heap space 在 运行 之后处理了一段时间

我的代码和流程很简单

df = spark.read.option("multiline", "true").json(f"s3/raw_path") 
// ...
// and write to be as source_df to other object in s3 
df.write.json(f"s3/source_path", lineSep=",\n")

在 error/log 中,它似乎在读取这个巨大的文件后失败并终止了容器。我已经尝试将工作节点类型升级为 G1.X,但我只是想问一下并找到另一种解决方案,它看起来不像随着资源增加而垂直扩展

我在这个领域和服务方面很新,所以想尽可能降低成本和时间:-)

提前谢谢大家

在研究了 Glue 和 Spark 之后,我发现为了获得跨多个执行程序的并行处理的好处,就我而言 - 我将(大)文件拆分为多个较小的文件并且它有效!文件分发给多个执行者。