我的本地计算机上有一个巨大的.csv
文件。我想在DynamoDB(eu-west-1,Ireland)中加载该数据。你会怎么做?
我的第一个方法是:
curl -X POST -d '<row>' .../connector/mydata
我不喜欢这个解决方案,因为:
我还在考虑将文件放在S3
存储桶中并使用lambda
进行处理,但文件很大,而且lambda的内存和时间限制让我害怕
我也在考虑在EC2机器上完成这项工作,但是我失去了反应能力(如果我在没有使用的情况下关闭机器)或者我赔钱(如果我不关闭机器)。
我被告知Kinesis可能是一个解决方案,但我不相信。
如果您是我,请告诉我在DynamoDB中获取huge CSV
文件的最佳方法。我希望最大程度地减少第二个&#34;#34的工作量;上传。
我更喜欢使用Node.js或R. Python可能是最后的解决方案。
答案 0 :(得分:3)
如果您想以AWS的方式进行,那么数据管道可能是最好的方法:
这是一个比你需要的更多的教程,但应该让你开始:
本教程的第一部分介绍了如何定义AWS数据 管道管道,用于从Amazon中以制表符分隔的文件中检索数据 S3填充DynamoDB表,使用Hive脚本定义 必要的数据转换步骤,并自动创建一个 Amazon EMR集群执行工作。
http://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-importexport-ddb-part1.html
答案 1 :(得分:1)
如果您的所有数据都在S3中,您可以使用AWS Data管道的预定义模板从S3&#39;导入DynamoDB数据。它应该很容易配置。