你好,可以考虑在open方法里启动一个定时的线程去取mysql里去数据和进行缓存更新。
当有新数据流入到你的系统中时,可以判断定时线程数据加载是否完成,当数据加载完成后再进行数据处理。
希望能有帮助~

Best,
Terry Wang



> 在 2019年9月24日,上午10:45,haoxin...@163.com 写道:
> 
> 大家好,初学flink,版本1.8.1。想请教一个思路问题:在物联网系统中会实时处理一些设备上来的状态数据,但是设备元数据信息或者基础数据会存储在类似MySQL数据库中,当实时流数据上来的时候需要这些基础数据进行计算。但是因为性能问题,不能实时的去数据库获取,所以需要在系统启动的时候缓存起来,然后再开始收数据或者开始处理数据。数据来源kafka。
> 请教2个问题:
> 
>        1. 
> 有什么方式能否保证数据开始处理的时候,基础数据已经缓存好了,可以在流处理中获取到(类似valueState),算子的open函数似乎不能写到valueState里面去,只能初始化state。
>        2. 当基础数据在数据库中有变化的时候,如何实时的通知到处理流中,更新缓存?(广播流?)
> 
> 谢谢。
> 
> 
> 
> haoxin...@163.com

回复