Node.js 将大型CSV文件加载到DynamoDb中的更好/最佳方法

Node.js 将大型CSV文件加载到DynamoDb中的更好/最佳方法,node.js,csv,amazon-web-services,amazon-s3,lambda,Node.js,Csv,Amazon Web Services,Amazon S3,Lambda,我在本地机器上有一个巨大的.csv文件。我想在爱尔兰的DynamoDB eu-west-1中加载这些数据。你会怎么做 我的第一个方法是: 在本地迭代CSV文件 通过curl-X POST-d…/connector/mydata向AWS发送一行 在lambda中处理上一个调用并写入DynamoDB 我不喜欢这种解决方案,因为: 请求太多了 如果我发送的数据没有CSV头信息,我必须硬编码lambda 如果我使用CSV头发送数据,则流量过大 我还考虑将文件放入S3存储桶中,并使用lambda进行处理,

我在本地机器上有一个巨大的.csv文件。我想在爱尔兰的DynamoDB eu-west-1中加载这些数据。你会怎么做

我的第一个方法是:

在本地迭代CSV文件 通过curl-X POST-d…/connector/mydata向AWS发送一行 在lambda中处理上一个调用并写入DynamoDB 我不喜欢这种解决方案,因为:

请求太多了 如果我发送的数据没有CSV头信息,我必须硬编码lambda 如果我使用CSV头发送数据,则流量过大 我还考虑将文件放入S3存储桶中,并使用lambda进行处理,但文件太大,lambda的内存和时间限制让我害怕

我也在考虑在EC2机器上做这项工作,但是如果我在不使用时关闭机器,我会失去反应性,或者如果我不关闭机器,我会赔钱

有人告诉我动情可能是一个解决办法,但我不相信

请告诉我,如果你是我,在DynamoDB中获取巨大CSV文件的最佳方法是什么。我想尽量减少第二次上传的工作量


我更喜欢使用Node.js或R。Python可能是最后一种解决方案。

如果您想使用AWS的方式,那么数据管道可能是最好的方法:

以下是一个教程,它比您需要的要多一些,但应该可以让您开始学习:

本教程的第一部分介绍如何定义AWS数据集 从Amazon中的制表符分隔文件检索数据的管道 S3要填充DynamoDB表,请使用配置单元脚本定义 必要的数据转换步骤,并自动创建 Amazon EMR集群来执行这项工作


如果您的所有数据都在S3中,您可以使用AWS数据管道的预定义模板“从S3导入DynamoDB数据”,配置起来应该很简单。

@e-j-brennan您知道此工作流的简单分步教程吗?我从未使用过EMR,也没有使用过Hive,我担心正确使用它们会花费太多时间