我让一个 lambda 在 mysql 中执行查询,然后将该查询结果保存到 S3,另一个 lambda 将使用它来对所有数据执行其他操作。
由于查询结果太大并且在发送到 S3 之前被保存到变量中,因此 lambda 内存不足。
你们知道我该如何解决这个问题吗?
最佳答案
如 Lambda Limit 中所述资源的最大内存为 3,008 MB,Lambda 可以使用的最大目录存储为 512 MB。
虽然我不知道您的确切用例,但这是使用 python 以内存有效方式流式传输数据的示例:Memory-efficient large dataset streaming to S3
根据我的经验,使用围绕 rds 到 s3 的数据提取/加载而设计的工具比在 Lambda 中构建工具更好。例如,您可以使用 Data Pipeline to Export MySQL Data to Amazon S3 。可以使用 ec2 实例配置数据管道来处理更大的数据集。比 Lambda 处理程序更大、更高效。
关于mysql - 在 S3 中临时保存大查询结果(~100k 行)的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56589350/