记一次flink状态使用所遇问题
在用flink做实时计算时,用到状态去存储一些中间数据或者结果数据,在本次项目中我要用到两个相同类型的状态,所以在做初始化时,以为描述器可以重用,所以只创建了一个描述器。
//定义描述器
val ttlDes = new ValueStateDescriptor[Boolean]("ttl", classOf[Boolean])
//初始化
ttlState = getRuntimeContext.getState[Boolean](ttlDes)
subjectState = getRuntimeContext.getState[Boolean](ttlDes)
但是在项目启动后,两个不同的业务模块,状态却互相干扰,最后发现它俩的值是一样的,所以不能用相同的描述器去初始化不同的状态!!!