mysql - 在 S3 中临时保存大查询结果(~100k 行)的最佳方法是什么?

标签 mysql node.js amazon-web-services amazon-s3 aws-lambda

我让一个 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/

相关文章:

php - 如何在 laravel 中获取多对多的关系项

php - 使用exec的php中的mysqldump返回空文件

amazon-web-services - AWS Elastic Beanstalk 504 网关超时

MySQL IO操作超时

php - 无法通过 PHP 表单插入到我的 sql 表中

node.js - Nodejs promise 类型错误 : Cannot read property 'then' of undefined

javascript - 使用对象的属性来对象的对象数组

node.js - 从本地上传 zip 在 azure blob 子容器中

amazon-web-services - AWS Lambda "duration"是实时测量的吗?

node.js - 是否可以从AWS Lambda调用Azure队列