我正在尝试使用Lambda将JSON文件转换为CSV。 我正在使用Pandas进行此操作。 最初,我从以下配置开始:
文件大小:5 MB
内存:128
我花了大约5秒钟才能完成转换。
然后我将文件大小增加到10 MB,但是有一个奇怪的行为。 如果有人可以帮助我理解这一点,那将是很棒的。 基本上我正在尝试对该操作进行基准测试 有时文件已成功处理,有时它显示超时消息
REPORT RequestId: 28e55591-e6a7-4344-b5bc-321bd03422b6 Duration: 900089.03 ms Billed Duration: 900000 ms Memory Size: 128 MB Max Memory Used: 129 MB
可以清楚地看到这是一个内存问题,但是我无法理解根本原因。 如果有人可以帮助我了解这种行为,那将是很好的。
有时还会触发lambda,然后再处理文件。
答案 0 :(得分:3)
这是由于您使用了熊猫的数据框。它比文件本身的大小占用更多的内存来存储CSV。您可以使用df.info(memory_usage='deep')
检查数据帧需要多少内存。
如果只需要将csv转换为json,则更好的方法是使用stdlib模块csv
和json
并自己编写代码。