如何处理在Apache Flink中很少更新的大型查找表

时间:2016-05-25 22:44:45

标签: apache-flink

处理数据的模式是我有一个记录流,它们可以通过一些信息A来丰富。记录按一些ID进行分片。此信息A取决于当前记录,先前计算的结果和大型查找表。查找表不经常更改,更改很小。我知道我可以使用mapWithState / flatMapWithState进行有状态计算。但是,我应该如何处理查找表?惯用的方法是将它作为状态(如A)处理,但查找表的大小可能对性能/内存很可怕(例如,在拍摄快照时)

我目前正在考虑将其作为受读/写锁保护的共享资源。有没有更好的方法来处理这种模式?

1 个答案:

答案 0 :(得分:2)

现在唯一可行的方法是使用state,正如你所提到的那样。我们正在研究另一种方法。以下是我们的一些想法:https://docs.google.com/document/d/1hIgxi2Zchww_5fWUHLoYiXwSBXjv-M5eOv-MKQYN3m4/edit?usp=sharing