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" <dian0511...@gmail.com> 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 <yangpengklf...@gmail.com> 写道:
    > 
    > 
    > 
    > ---------- Forwarded message ---------
    > 发件人: yangpengklf007 <yangpengklf...@gmail.com 
<mailto:yangpengklf...@gmail.com>>
    > Date: 2019年11月7日周四 下午3:00
    > Subject: 广播状态是否可以设置ttl过期时间
    > To: user-zh@flink.apache.org <mailto:user-zh@flink.apache.org> 
<user-zh@flink.apache.org <mailto:user-zh@flink.apache.org>>
    > 
    > 
    > 
如下图是我设置得测试代码:在类中定义一个mapstatedesc,然后在processBroadcastElement方法中获取广播数据放入到state中 
设置ttl是1s然后让程序sleep10s 
再次从state中获取数据发现数据依旧存在,是广播状态不支持ttl还是我设置的方式不对,有用过的同学吗,还望不吝赐教 谢谢
    > 
    > 
    >                                   
    > yangpengklf007
    > yangpengklf...@gmail.com
    >  
<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> 定制
    
    

回复