Uploaded image for project: 'Flink'
  1. Flink
  2. FLINK-4582

Allow FlinkKinesisConsumer to adapt for AWS DynamoDB Streams

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

    Details

      Description

      AWS DynamoDB is a NoSQL database service that has a CDC-like (change data capture) feature called DynamoDB Streams (http://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Streams.html), which is a stream feed of item-level table activities.

      The DynamoDB Streams shard abstraction follows that of Kinesis Streams with only a slight difference in resharding behaviours, so it is possible to build on the internals of our Flink Kinesis Consumer for an exactly-once DynamoDB Streams source.

      I propose an API something like this:

      DataStream dynamoItemsCdc = 
        FlinkKinesisConsumer.asDynamoDBStream(tableNames, schema, config)
      

      The feature adds more connectivity to popular AWS services for Flink, and combining what Flink has for exactly-once semantics, out-of-core state backends, and queryable state with CDC can have very strong use cases. For this feature there should only be an extra dependency to the AWS Java SDK for DynamoDB, which has Apache License 2.0.

        Attachments

        Issue Links

          Activity

            People

            • Assignee:
              yxu-lyft Ying Xu
              Reporter:
              tzulitai Tzu-Li (Gordon) Tai

              Dates

              • Created:
                Updated:
                Resolved:

                Time Tracking

                Estimated:
                Original Estimate - Not Specified
                Not Specified
                Remaining:
                Remaining Estimate - 0h
                0h
                Logged:
                Time Spent - 10m
                10m

                  Issue deployment