What is the proper way to inject 300 mil of record to DynamoDB / Elasticsearch Hi everyone, 

I need to benchmark our new log database, which will be used to save IoT device data in one year's time. 

We are considering DynamoDB and Elasticsearch. Now we have like 26 mil records for a month, and we need to fake data for a year (\~ 310 mil records).

I'm wondering what is the proper way (also fast and cost-saving) to inject large amounts of data into different databases

I'm thinking of Spark (I just learn about it recently), and the steps, I assume, would include:

* Set up Spark Clusters on some AWS EC2
* Load the JSON / Text Data with One-month data into the clusters (S3 | EBS)
* Write a driver program that reads this file and calls APIs of 2 above databases to bulk update to the number of months I want

The reason I chose Spark was that it supports parallel computing and it has a cluster manager, which I think would be great if something went wrong.