---------- Forwarded message --------- 发件人: yangpengklf007 <[hidden email]> Date: 2019年11月7日周四 下午3:00 Subject: 广播状态是否可以设置ttl过期时间 To: [hidden email] <[hidden email]>
如下图是我设置得测试代码:在类中定义一个mapstatedesc,然后在processBroadcastElement方法中获取广播数据放入到state中 设置ttl是1s然后让程序sleep10s 再次从state中获取数据发现数据依旧存在,是广播状态不支持ttl还是我设置的方式不对,有用过的同学吗,还望不吝赐教 谢谢
|
In reply to this post by Dian Fu
嗯嗯,谢谢 付典老师,我理解的是虽然他不会删除但是也不应该返回过期的state值吧,应该是茶干老师说的那样只有keyed state 才支持
state的ttl吧; Dian Fu <[hidden email]> 于2019年11月7日周四 下午8:08写道: > > 1.8.0之前,ttl保证的是在ttl到达之前,数据不会清空,但是不保证ttl到达之后,数据一定清空。1.8.0之后提供了更完善的功能,可以看一下这个文章: > https://flink.apache.org/2019/05/19/state-ttl.html < > https://flink.apache.org/2019/05/19/state-ttl.html> > > 在 2019年11月7日,下午3:06,Yang Peng <[hidden email]> 写道: > > > > > > > > ---------- Forwarded message --------- > > 发件人: yangpengklf007 <[hidden email] <mailto: > [hidden email]>> > > Date: 2019年11月7日周四 下午3:00 > > Subject: 广播状态是否可以设置ttl过期时间 > > To: [hidden email] <mailto:[hidden email]> < > [hidden email] <mailto:[hidden email]>> > > > > > > > 如下图是我设置得测试代码:在类中定义一个mapstatedesc,然后在processBroadcastElement方法中获取广播数据放入到state中 > 设置ttl是1s然后让程序sleep10s > 再次从state中获取数据发现数据依旧存在,是广播状态不支持ttl还是我设置的方式不对,有用过的同学吗,还望不吝赐教 谢谢 > > > > > > > > yangpengklf007 > > [hidden email] > > < > https://maas.mail.163.com/dashi-web-extend/html/proSignature.html?ftlId=1&name=yangpengklf007&uid=yangpengklf007%40gmail.com&iconUrl=https%3A%2F%2Fmail-online.nosdn.127.net%2Fqiyelogo%2FdefaultAvatar.png&items=%5B%22yangpengklf007%40gmail.com%22%5D > > > > 签名由 网易邮箱大师 <https://mail.163.com/dashi/dlpro.html?from=mail81> 定制 > > |
In reply to this post by Yun Tang
好的 谢谢茶干老师 我正在验证
Yun Tang <[hidden email]> 于2019年11月7日周四 下午10:11写道: > Hi > > Broadcast State 可以看做一种operator state,只能在DefaultOperatorStateBackend里面创建 > [1],TTL state目前仅是对keyed state来说的 [2]。 > > [1] > https://github.com/apache/flink/blob/809533e5b5c686e2d21b64361d22178ccb92ec26/flink-runtime/src/main/java/org/apache/flink/runtime/state/DefaultOperatorStateBackend.java#L149 > [2] > https://ci.apache.org/projects/flink/flink-docs-stable/dev/stream/state/state.html#state-time-to-live-ttl > > > > On 11/7/19, 8:08 PM, "Dian Fu" <[hidden email]> wrote: > > > 1.8.0之前,ttl保证的是在ttl到达之前,数据不会清空,但是不保证ttl到达之后,数据一定清空。1.8.0之后提供了更完善的功能,可以看一下这个文章: > https://flink.apache.org/2019/05/19/state-ttl.html < > https://flink.apache.org/2019/05/19/state-ttl.html> > > 在 2019年11月7日,下午3:06,Yang Peng <[hidden email]> 写道: > > > > > > > > ---------- Forwarded message --------- > > 发件人: yangpengklf007 <[hidden email] <mailto: > [hidden email]>> > > Date: 2019年11月7日周四 下午3:00 > > Subject: 广播状态是否可以设置ttl过期时间 > > To: [hidden email] <mailto:[hidden email]> < > [hidden email] <mailto:[hidden email]>> > > > > > > > 如下图是我设置得测试代码:在类中定义一个mapstatedesc,然后在processBroadcastElement方法中获取广播数据放入到state中 > 设置ttl是1s然后让程序sleep10s > 再次从state中获取数据发现数据依旧存在,是广播状态不支持ttl还是我设置的方式不对,有用过的同学吗,还望不吝赐教 谢谢 > > > > > > > > yangpengklf007 > > [hidden email] > > < > https://maas.mail.163.com/dashi-web-extend/html/proSignature.html?ftlId=1&name=yangpengklf007&uid=yangpengklf007%40gmail.com&iconUrl=https%3A%2F%2Fmail-online.nosdn.127.net%2Fqiyelogo%2FdefaultAvatar.png&items=%5B%22yangpengklf007%40gmail.com%22%5D > > > > 签名由 网易邮箱大师 <https://mail.163.com/dashi/dlpro.html?from=mail81> 定制 > > > > |
In reply to this post by Yang Peng
是的。不过及时对于keyed state,如果你没有用TTL state这个功能,也是有可能返回过期的state的。
> 在 2019年11月8日,上午10:24,Yang Peng <[hidden email]> 写道: > > 嗯嗯,谢谢 付典老师,我理解的是虽然他不会删除但是也不应该返回过期的state值吧,应该是茶干老师说的那样只有keyed state 才支持 > state的ttl吧; > > Dian Fu <[hidden email]> 于2019年11月7日周四 下午8:08写道: > >> >> 1.8.0之前,ttl保证的是在ttl到达之前,数据不会清空,但是不保证ttl到达之后,数据一定清空。1.8.0之后提供了更完善的功能,可以看一下这个文章: >> https://flink.apache.org/2019/05/19/state-ttl.html < >> https://flink.apache.org/2019/05/19/state-ttl.html> >>> 在 2019年11月7日,下午3:06,Yang Peng <[hidden email]> 写道: >>> >>> >>> >>> ---------- Forwarded message --------- >>> 发件人: yangpengklf007 <[hidden email] <mailto: >> [hidden email]>> >>> Date: 2019年11月7日周四 下午3:00 >>> Subject: 广播状态是否可以设置ttl过期时间 >>> To: [hidden email] <mailto:[hidden email]> < >> [hidden email] <mailto:[hidden email]>> >>> >>> >>> >> 如下图是我设置得测试代码:在类中定义一个mapstatedesc,然后在processBroadcastElement方法中获取广播数据放入到state中 >> 设置ttl是1s然后让程序sleep10s >> 再次从state中获取数据发现数据依旧存在,是广播状态不支持ttl还是我设置的方式不对,有用过的同学吗,还望不吝赐教 谢谢 >>> >>> >>> >>> yangpengklf007 >>> [hidden email] >>> < >> https://maas.mail.163.com/dashi-web-extend/html/proSignature.html?ftlId=1&name=yangpengklf007&uid=yangpengklf007%40gmail.com&iconUrl=https%3A%2F%2Fmail-online.nosdn.127.net%2Fqiyelogo%2FdefaultAvatar.png&items=%5B%22yangpengklf007%40gmail.com%22%5D >>> >>> 签名由 网易邮箱大师 <https://mail.163.com/dashi/dlpro.html?from=mail81> 定制 >> >> |
哦哦,我目前的做法是在processElement方法里面注册Timer 然后再onTimer方法里面手动删除state中过期的数据;
Dian Fu <[hidden email]> 于2019年11月8日周五 上午10:42写道: > 是的。不过及时对于keyed state,如果你没有用TTL state这个功能,也是有可能返回过期的state的。 > > > 在 2019年11月8日,上午10:24,Yang Peng <[hidden email]> 写道: > > > > 嗯嗯,谢谢 付典老师,我理解的是虽然他不会删除但是也不应该返回过期的state值吧,应该是茶干老师说的那样只有keyed state 才支持 > > state的ttl吧; > > > > Dian Fu <[hidden email]> 于2019年11月7日周四 下午8:08写道: > > > >> > >> > 1.8.0之前,ttl保证的是在ttl到达之前,数据不会清空,但是不保证ttl到达之后,数据一定清空。1.8.0之后提供了更完善的功能,可以看一下这个文章: > >> https://flink.apache.org/2019/05/19/state-ttl.html < > >> https://flink.apache.org/2019/05/19/state-ttl.html> > >>> 在 2019年11月7日,下午3:06,Yang Peng <[hidden email]> 写道: > >>> > >>> > >>> > >>> ---------- Forwarded message --------- > >>> 发件人: yangpengklf007 <[hidden email] <mailto: > >> [hidden email]>> > >>> Date: 2019年11月7日周四 下午3:00 > >>> Subject: 广播状态是否可以设置ttl过期时间 > >>> To: [hidden email] <mailto:[hidden email]> < > >> [hidden email] <mailto:[hidden email]>> > >>> > >>> > >>> > >> > 如下图是我设置得测试代码:在类中定义一个mapstatedesc,然后在processBroadcastElement方法中获取广播数据放入到state中 > >> 设置ttl是1s然后让程序sleep10s > >> 再次从state中获取数据发现数据依旧存在,是广播状态不支持ttl还是我设置的方式不对,有用过的同学吗,还望不吝赐教 谢谢 > >>> > >>> > >>> > >>> yangpengklf007 > >>> [hidden email] > >>> < > >> > https://maas.mail.163.com/dashi-web-extend/html/proSignature.html?ftlId=1&name=yangpengklf007&uid=yangpengklf007%40gmail.com&iconUrl=https%3A%2F%2Fmail-online.nosdn.127.net%2Fqiyelogo%2FdefaultAvatar.png&items=%5B%22yangpengklf007%40gmail.com%22%5D > >>> > >>> 签名由 网易邮箱大师 <https://mail.163.com/dashi/dlpro.html?from=mail81> 定制 > >> > >> > > |
Free forum by Nabble | Edit this page |