嗯嗯,之前没有选择回复全部,不好意思。 我看源码关于RocksDB这块确实是需要序列化的,所以肯定是多份保存,如果状态后端是heap呢,也是一样的吗?从我测试内存来看,感觉也是多份,只是heapliststate那个类给了我一些困惑😦
在2020年07月11日 16:23,Congxian Qiu 写道: Hi 每个窗口都是一个单独的 state,至于你认为的不同 state 仅保持引用是不对的。这个你可以使用 RocksDBStateBackend 来考虑,RocksDBStateBackend 中会把 state 序列化成 bytes,然后写到 RocksDB 中,就是每个 State 中都会有一份。 PS:回复邮件的时候可以选择「全部回复」这样就能够加上 "[email protected]"),这样我们的邮件所有人都能看到了 Best, Congxian 张浩 <[email protected]> 于2020年7月7日周二 上午10:34写道: Hi,我通过看源码发现每条数据到达时,是分配给了所有的窗口,但是我理解这单条数据是不是只是传递给了每个窗口,其实在内存中只有一份,窗口状态保持对它的引用,触发一次窗口就删掉对这些数据的引用? 很高兴与您探讨! | | 张浩 | | 邮箱:[email protected] | 签名由 网易邮箱大师 定制 在2020年07月06日 20:56,Congxian Qiu 写道: Hi 我理解,如果只存取一份的话,state 的管理会变得麻烦一些(所有需要这份数据的窗口都需要去某个地方取, state 什么时候清理逻辑也会变得麻烦一些) Best, Congxian 张浩 <[email protected]> 于2020年7月6日周一 下午1:57写道: 你好,我的思考是便于在状态信息中清除或者提取每一个窗口的数据信息。 不知道,我这样理解的对吗? 另外,为什么我们不能只存储一份数据呢? 非常感谢与您交流! | | 张浩 | | 邮箱:[email protected] | 签名由 网易邮箱大师 定制 在2020年07月06日 13:46,Congxian Qiu 写道: Hi 现在的实现是这样的,每条数据会在每个窗口中存一份 Best, Congxian 张浩 <[email protected]> 于2020年7月6日周一 下午12:49写道: > Hi,all! > 由于第一次咨询,我不确定上一份邮件大家是否收到。 > 想咨询下大家,为什么使用 datastream api 的话,滑动窗口对于每条数据都会在 state 中存 size / slide > 份? > > > | | > 张浩 > | > | > [email protected] > | > 签名由网易邮箱大师定制
