Какова альтернатива для боковых входов в Apache Beam

Я пытаюсь объединить несколько потоков Kafka и поисков с помощью Apache Beam. Я использую боковые входы для обработки справочных таблиц, и все работает в прямом бегу. Но когда я попытался запустить его в режиме зажигания или в режиме мигания, я узнал, что боковые входы не поддерживаются. Это несколько ссылок Jira Bugs.

http://mail-archives.apache.org/mod_mbox/beam-user/201605.mbox/%3C573EFC2F.6000708@nanthrax.net%3E https://issues.apache.org/jira/browse/FLINK-6131

https://issues.apache.org/jira/browse/BEAM-2112

Есть ли способ использовать боковой ввод или обойти это?

Могу ли я использовать обработку с сохранением состояния для этого? Я знаю, что состояние доступно для каждого окна для каждого ключа, но все же есть настройка, чтобы использовать его по-другому?

Могу ли я использовать кэширующую базу данных, такую ​​как memcached, и извлекать данные при обработке каждой записи?

Любые предложения высоко ценятся.

Спасибо,

1 ответ

В BeamSQL существует альтернативная идея, которая называется seekable join. Это похоже на соединение sideinput, но для него требуется только одна сторона ввода соединения 1.

Так что это будет зависеть от того, сможете ли вы создать таблицу для реализации seek API (базовая реализация может быть просто вызовом API).

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