问题描述
我正在使用Kinesis Firehose通过lambda消耗Dyanamo DB流并将这些记录推送到S3存储桶,glue作业每小时运行一次,以从S3中选择记录,执行重复数据删除,最后将记录插入Redshift。
有什么方法可以将Dynamo Streams中的记录消耗到“ Kinesis Data Analytics”中,然后在此处执行重复数据删除并将记录插入Redshift?
我已经通过一些链接https://issues.apache.org/jira/browse/FLINK-4582,Consume DynamoDB streams in Apache Flink。
- 这里提到我们可以使用 FlinkKinesisConsumer 消耗DynamoDB流
。 那么我们可以在Kinesis Data Analytics中使用此FlinkKinesisConsumer,然后直接使用Dynamo Stream吗?
解决方法
使用Flink作为Kinesis Data Analytics的运行时。
来源:https://docs.aws.amazon.com/kinesisanalytics/latest/java/how-sources.html
'FlinkKinesisConsumer'可用于调整Dynamo数据库流(https://issues.apache.org/jira/browse/FLINK-4582)。
目的地:https://docs.aws.amazon.com/kinesisanalytics/latest/java/how-sinks.html
'FlinkKinesisFirehoseProducer'可用于写入'Kinesis data firehose'。与Redshift没有直接集成。