在Scala应用程序中具有内存LRU高速缓存的正确方法是什么,该应用程序运行在火花结构化流上并在批之间保持不变。
我尝试使用Guava缓存,但是我认为因为即使我将其用作单例它也无法序列化,所以每个微批处理都会实例化一个新的缓存。
为了处理事件,我需要在外部数据源中查找一些元数据,因此,我想避免每次通话都通过网络,而是在本地缓存一定时间。
答案 0 :(得分:0)
您可以尝试在mapGroupsWithState或flatMapGroupsWithState内部编写自己的逻辑
这是一个有状态存储,可以保存查找的计算值