airflow-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF subversion and git services (JIRA)" <>
Subject [jira] [Commented] (AIRFLOW-1560) Add AWS DynamoDB hook for inserting batch items
Date Sat, 30 Sep 2017 06:46:03 GMT


ASF subversion and git services commented on AIRFLOW-1560:

Commit 71400b9d89f9faa49b03fccede4df4b85ac1475d in incubator-airflow's branch refs/heads/v1-9-test
from sid.gupta
[;h=71400b9 ]

[AIRFLOW-1560] Add AWS DynamoDB hook and operator for inserting batch items

Closes #2587 from

(cherry picked from commit 2f0798fcc9b7d6c0977b3190670d8a2c03818dd5)
Signed-off-by: Bolke de Bruin <>

> Add AWS DynamoDB hook for inserting batch items
> -----------------------------------------------
>                 Key: AIRFLOW-1560
>                 URL:
>             Project: Apache Airflow
>          Issue Type: New Feature
>          Components: aws, boto3, hooks
>            Reporter: Siddharth
>            Assignee: Siddharth
> The PR addresses airflow integration with AWS Dynamodb.  
> Currently there is no hook to interact with DynamoDb for reading or writing items (single
or batch insertions). To get started, we want to push data in DynamoDB using airflow jobs
(scheduled daily). Idea is to read aggregates from Hive and push in DynamoDB (write data job
will run everyday to make this happen). First we want to create DynamoDB hooks (this PR addressed
the same) and then create operator to move data from Hive to DynamoDB (added hive to dynamo
transfer operator)
> I noticed that currently airflow has AWS_HOOK (parent hook for connecting to AWS using
credentials stored in configs). It has a function to connect to AWS objects using Client API
( which is specific
to EMR_HOOK. But in case of inserting data we can use DynamoDB Resource API (
which provides higher level abstractions for inserting data in DynamoDB). One good question
to ask can be difference between client and resource and why use one or the other? "Resources
are higher-level abstraction than the raw, low-level calls made by service clients. They can't
do anything the clients can't do, but in many cases they are nicer to use. The downside is
that they don't always support 100% of the features of a service." (

This message was sent by Atlassian JIRA

View raw message