我有一个linux服务器,它将定期获取约300个CSV文件(每个1MB至200MB)。我需要检查文件的每一行,验证它的数据(想对每个文件进行数据库调用,并获取所有有效记录并将其保存在内存中以进行查找),对有效记录进行过滤/添加一些其他信息,保存所有记录在CSV文件中。对于X个输入文件,将生成X个输出文件。最后,这些文件应上传到AWS S3。我正在考虑2种方法。
系统的瓶颈将是每个文件的DB调用。如果您在数据库调用中包含SLA,则可以基于它在任何时间限制扩展(AWS中的Autoscaling)。
如果使用API方法,则可以发送S3文件的位置,让您的服务处理从S3获取文件并进行处理,然后将其上传到另一个位置。
如果使用批处理,则可以使用Glue Job,它在后台创建EMR进行处理。