Amazon web services 针对小数据量的AWS ETL解决方案

Amazon web services 针对小数据量的AWS ETL解决方案,amazon-web-services,aws-glue,aws-batch,aws-data-pipeline,Amazon Web Services,Aws Glue,Aws Batch,Aws Data Pipeline,我的目标是从S3文件中获取数据,转换并保存到数据源(可以是dynamoDB或RDS)。文件大小是处理一个文件需要多长时间?具体地说,会不会少于15分钟?文件可以单独处理,还是需要成批处理?文件的格式是什么?需要进行什么类型的处理?您实际希望使用哪个目标(DynamoDB或amazonrds)-它们是完全不同的存储类型,选择应该基于您打算如何使用数据库中的数据。请随意编辑您的问题,以包含这些详细信息,而不是在评论中回答。为问题添加了更多详细信息。您可以增加Lambda函数的内存,这也会增加CPU。

我的目标是从S3文件中获取数据,转换并保存到数据源(可以是dynamoDB或RDS)。文件大小是处理一个文件需要多长时间?具体地说,会不会少于15分钟?文件可以单独处理,还是需要成批处理?文件的格式是什么?需要进行什么类型的处理?您实际希望使用哪个目标(DynamoDB或amazonrds)-它们是完全不同的存储类型,选择应该基于您打算如何使用数据库中的数据。请随意编辑您的问题,以包含这些详细信息,而不是在评论中回答。为问题添加了更多详细信息。您可以增加Lambda函数的内存,这也会增加CPU。这可能会加快操作速度。另一个选项是让S3事件触发AWS Lambda函数,然后启动AmazonEC2实例来处理该文件。这样,处理时间可以超过15分钟。EC2是每秒收费的,因此它非常划算。lambda启动EC2实例和aws批处理选项大致相同。你有什么想法,比如我们应该考虑什么样的ETL选项,如数据管道/胶水?我们有我们的ETL作业配置使用Aslambda事件触发器在S3的位置,如果一个文件上传,lambda触发启动相应的AWS胶作业。粘合作业从S3读取文件,并使用RDS功能直接加载到RDS中。对于RDS操作,我们使用了连接到AWS Glue的pymysql库来对RDS执行UPSERT操作。