2

有没有人尝试在 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

4

1 回答 1

2

更新的答案 - 2019

FlinkKinesisConsumer连接器现在可以在实施此JIRA 票证后处理 DynamoDB 流。

更新的答案

Apache Flink 似乎没有使用 DynamoDB 流连接器适配器,因此它可以从 Kinesis 读取数据,但无法从 DynamoDB 读取数据。

我认为一种选择可能是实现一个应用程序,该应用程序将数据从 DynamoDB 流写入 Kinesis,然后从 Apache Flink 中的 Kinesis 读取数据并进行处理。

另一种选择是为 Apache Flink 实施自定义 DynamoDB 连接器。您可以使用现有的连接器作为起点。

您还可以查看Apache Spark Kinesis 连接器。但它似乎也有同样的问题。

原始答案

DynamoDB 有一个 Kinesis 适配器,允许您使用Kinesis Client Library使用 DynamoDB 更新流。使用 Kinesis 适配器是使用来自 DynamoDB 的更新的推荐方式(根据 AWS)。这将为您提供与直接使用 DynamoDB 流(也称为 DynamoDB 低级 API)相同的数据。

于 2017-08-01T11:45:43.147 回答