我正在Apache Beam中开发数据转换管道,我需要一些查找表来帮助转换每个传入记录。
我可以将查找表作为侧面输入传递,但要注意的是,传入记录可以更新我正在使用的查找表。
有没有一种方法可以更新查找表,然后将更新广播给其他所有工作人员?
更新:一种可能性是,当传入记录更新侧面输入时,使用数据驱动的触发器向当前窗口发出结束信号。在下一个窗口开始时,侧面输入是否会自动刷新?就我而言,我正在从外部来源获取侧面输入。
答案 0 :(得分:0)
如果查找表与键和窗口相关,则可以尝试使用状态 https://beam.apache.org/blog/2017/02/13/stateful-processing.html
否则,您可能需要外部数据存储。数据库或内存高速缓存中。请注意DoFns是可序列化的,并且打开/关闭连接需要仔细进行。