AWS Glue ETL:读取要处理的巨大JSON文件格式,但是出现OutOfMemory错误

问题描述

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

我的代码和流程是如此简单

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")

在错误/日志中似乎自读取此大文件以来,容器失败并终止。我已经尝试将具有示例工作节点数量的工作类型升级为G1.X,但是,我只是想问一问,并找到另一种解决方案,该解决方案看起来并不像垂直扩展那样会增加资源

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

先谢谢大家

解决方法

在研究了Glue和Spark之后,我发现要在多个执行程序之间获得并行处理的好处,就我的情况而言-我将(大)文件拆分为多个小文件,并且可以正常工作!这些文件已分发给多个执行者。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...