有没有人尝试在 Apache Flink 中使用 DynamoDB 流?
Flink 有一个 Kinesis 消费者。但我正在寻找如何直接使用 Dynamo 流。
DataStream<String> kinesis = env.addSource(new FlinkKinesisConsumer<>(
"kinesis_stream_name", new SimpleStringSchema(), consumerConfig));
我尝试了很多搜索,但没有找到任何东西。但是,发现一个未决的请求正在等待 Flink Jira 董事会。所以我想这个选项还不可用?我有什么选择?
允许 FlinkKinesisConsumer 适应 AWS DynamoDB Streams
更新的答案 - 2019
FlinkKinesisConsumer 连接器现在可以在实施此 JIRA 票证后处理 DynamoDB 流。
更新的答案
Apache Flink 似乎不使用 DynamoDB 流连接器适配器,因此它可以从 Kinesis 读取数据,但无法从 DynamoDB 读取数据。
我认为一种选择是实现一个应用程序,该应用程序将数据从 DynamoDB 流写入 Kinesis,然后在 Apache Flink 中从 Kinesis 读取数据并对其进行处理。
另一种选择是为 Apache Flink 实施自定义 DynamoDB 连接器。可以使用现有连接器作为起点。
你也可以看看Apache Spark Kinesis连接器。但它似乎也有同样的问题。
原始答案
DynamoDB 有一个 Kinesis 适配器,允许您使用 Kinesis 客户端库使用 DynamoDB 更新流。使用 Kinesis 适配器是使用 DynamoDB 更新的推荐方法(根据 AWS(。这将为您提供与直接使用 DynamoDB 流(也称为 DynamoDB 低级 API(相同的数据。