Использовать потоки DynamoDB в Apache Flink

Кто-нибудь пробовал использовать потоки DynamoDB в Apache Flink?

У Flink есть потребитель Kinesis. Но я ищу, как я могу использовать поток Динамо напрямую.

DataStream<String> kinesis = env.addSource(new FlinkKinesisConsumer<>(
    "kinesis_stream_name", new SimpleStringSchema(), consumerConfig));

Я много пробовал искать, но ничего не нашел. Однако нашел открытый запрос в ожидании доски Flink Jira. Итак, я думаю, что эта опция еще не доступна? Какие у меня есть альтернативы?

Разрешить FlinkKinesisConsumer адаптироваться для потоков AWS DynamoDB

1 ответ

Решение

ОБНОВЛЕННЫЙ ОТВЕТ

Кажется, что Apache Flink не использует адаптер коннектора потока DynamoDB, поэтому он может читать данные из Kinesis, но не может читать данные из DynamoDB.

Я думаю, что одним из вариантов может быть реализация приложения, которое будет записывать данные из потоков DynamoDB в Kinesis, а затем читать данные из Kinesis в Apache Flink и обрабатывать их.

Другим вариантом будет реализация пользовательского коннектора DynamoDB для Apache Flink. Вы можете использовать существующий разъем в качестве отправной точки.

Также вы можете взглянуть на разъем Apache Spark Kinesis. Но похоже, что у него та же проблема.

ОРИГИНАЛЬНЫЙ ОТВЕТ

DynamoDB имеет адаптер Kinesis, который позволяет использовать поток обновлений DynamoDB с помощью клиентской библиотеки Kinesis. Использование адаптера Kinesis - рекомендуемый способ (в соответствии с AWS) использования обновлений от DynamoDB. Это даст вам те же данные, что и при прямом использовании потока DynamoDB (также называемый низкоуровневым API DynamoDB).

Другие вопросы по тегам