1

我正在尝试使用 Apache Beam 加入多个 kafka 流和查找。我使用侧面输入来处理查找表,一切都在直接运行器中解决。但是,当我尝试在 spark 模式或 flink 模式下运行它时,我了解到不支持侧输入。这些是 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 这样的缓存数据库并在处理每条记录时获取数据吗?

任何建议都受到高度赞赏。

谢谢,

4

1 回答 1

0

在 BeamSQL 中有一个替代想法,称为可搜索连接。它类似于 sideinput join 但它只需要 join 输入的一侧是可搜索的1

所以这取决于你是否可以构造一个表来实现seekAPI(底层实现可能只是一个 API 调用)。

于 2019-08-23T18:13:17.760 回答