1
假设,我有一个应用程序是否缓存了mapWithState/updateStateByKey?
- 从卡夫卡
- 创建一个新的数据流做一些转换
- 使用
mapWithState
/updateStateByKey
保存状态。 - 对来自状态的流进行一些更多的转换。
- 做一些动作1和动作2。
注:我还没有使用任何缓存。
我的问题是,
- 将在第2步转换中(对于动作1次和动作2个)进行了两次?对我来说,它似乎只执行一次!
mapWithState
/updateStateByKey
returndStream
,但是它会自动执行一些缓存/存储吗?- 是否有担保,
mapWithState
/updateStateByKey
之前的转换仅应用一次而不重新计算?我的意思是,如果状态仍包含30天前获取的数据,它是否会重新计算预先计算的结果未找到?