Press "Enter" to skip to content

DynamoDB to S3: Export Using AWS Data Pipeline

dynamodb to s3 aws data pipelineAWS Data Pipeline is a data integration solution provided by Amazon. With AWS Data Pipeline, you just need to define your source and destination and AWS Data Pipeline takes care of your data movement. This will avoid your development and maintenance effort. With the help of a Data Pipeline, you can apply pre-condition/post-condition check, set up alarm, schedule the pipeline etc. This article will only focus on data transfer through the AWS Data Pipeline alone.

Limitations: Per account, you can have a maximum of 100 pipelines and objects per pipeline.

  1. Export data from Dynamodb table CompanyEmployeeList to S3 bucket.

    export dynamodb to s3

  2. Create an AWS Data Pipeline from the built-in template provided by Data Pipeline for data export from DynamoDB to S3.

aws data pipeline dynamodb to s3

import dynamodb to s3

aws data pipeline configuration

  1. Activate the Pipeline once done.

aws data pipeline export dynamodb to s3

  1. Once the Pipeline is finished, check whether the file is generated in S3 bucket.

dynamodb s3 bucket aws data pipeline

  1. Go and download the file to see the content.

    download s3 bucket files

  2. Check the content of the generated file.

validate data in s3

Advantages of exporting DynamoDB to S3 using AWS Data Pipeline:

AWS provides an automatic template for Dynamodb to S3 data export and very less setup is needed in the pipeline.

  1. It internally takes care of your resources i.e. EC2 instances and EMR cluster provisioning once the pipeline is activated.
  2. It provides greater flexibility on your resources as you can choose your instance type, EMR cluster engine etc.
  3. This is quite handy in cases where you want to hold your baseline data or take backup of DynamoDB table data to S3 before doing further testing on DynamoDB table and can revert back the table once done with testing.
  4. Alarms and notification can be handled beautifully using this approach.

Disadvantages of exporting DynamoDB to S3 using AWS Data Pipeline:

  1. The approach is a bit old fashioned as it utilizes EC2 instances and triggers the EMR cluster to perform the export activity. If instance and the cluster configuration is not properly provided in the pipeline, it could cost dearly.
  2. Sometimes EC2 instance or EMR cluster fails due to resource unavailability etc. This could lead to pipeline getting failed.
Simpler Way to Move DynamoDB to S3

Using Hevo Data Integration Platform, you can seamlessly replicate data from DynamoDB to S3 using 2 simple steps.

  • Connect and configure your DynamoDB database.
  • For each table in DynamoDB choose a table name in Amazon S3 where it should be copied.


Overall, using AWS data pipeline is a costly setup and going with serverless would be a better option. However, if you want to use engines like Hive, Pig, etc then Pipeline would be a better option to import data from DynamoDB table to S3.

Even though solutions provided by AWS works but it is not much flexible and resource optimized. These solutions either require additional AWS services or cannot be used to copy data from multiple tables across multiple regions easily. You can also check out how to move data from DynamoDB to Amazon S3 using AWS Glue.

With Hevo (7-day Free Trial), replicating data from DynamoDB to S3 is simple, fast, and secure. You don’t have to worry about managing the additional resources. Any number of tables can be replicated to the target destination in a single data pipeline. Hevo can also export DynamoDB tables to a target Amazon S3 bucket owned by a different AWS account.

ETL Data to Redshift, Bigquery, Snowflake

Move Data from any Source to Warehouse in Real-time

Sign up today to get $500 Free Credits to try Hevo!
Start Free Trial