Re: Flink DataStream 统计UV问题
你这个需求貌似是要看一天的 UV 的实时更新量,可以看一下 sliding window。如果是每天 0 点清零,实时看今天的 UV,那就是另一个问题了,应该需要自己定义 trigger & evictor 每条触发一次 window...看你数据量吧 Best, tison. shizk233 于2020年7月10日周五 上午10:23写道: > Hi Jiazhi, > > > 1.如果数据流量不是很大的话,按每条数据触发也没问题。另外,基于事件时间的情况,提前触发可以选择ContinuousEventTimeTrigger,可以查看Trigger接口的实现找到你想要的trigger。 > 2.窗口结束后会自动释放。一般对于Global窗口需要手动设置TTL > > Best, > shizk233 > > ゞ野蠻遊戲χ 于2020年7月7日周二 下午10:27写道: > > > 大家好! > > > > 想问下,现在在用DataStream的api来统计每天的UV,代码如下,有2个使用问题: > > 1、在使用Tumbling窗口的时候,由于使用窗口跨度是1天(Time.days(1)),只有以一天结束的时候,才能输出一个uv值, > > 这样时间等待太长了,所以加了一个trigger,每来一条都触发一次窗口,不知道这样的用法没有问题。 > > 2、还有想问下在窗口结束后,里面的state状态会自动释放吗?还是要自己手动设置TTL的。 > > > > > > 谢谢! > > Jiazhi > > >
Re: Flink DataStream 统计UV问题
Hi Jiazhi, 1.如果数据流量不是很大的话,按每条数据触发也没问题。另外,基于事件时间的情况,提前触发可以选择ContinuousEventTimeTrigger,可以查看Trigger接口的实现找到你想要的trigger。 2.窗口结束后会自动释放。一般对于Global窗口需要手动设置TTL Best, shizk233 ゞ野蠻遊戲χ 于2020年7月7日周二 下午10:27写道: > 大家好! > > 想问下,现在在用DataStream的api来统计每天的UV,代码如下,有2个使用问题: > 1、在使用Tumbling窗口的时候,由于使用窗口跨度是1天(Time.days(1)),只有以一天结束的时候,才能输出一个uv值, > 这样时间等待太长了,所以加了一个trigger,每来一条都触发一次窗口,不知道这样的用法没有问题。 > 2、还有想问下在窗口结束后,里面的state状态会自动释放吗?还是要自己手动设置TTL的。 > > > 谢谢! > Jiazhi >
Re: 回复: DataStream统计uv问题
逻辑上这么说也没有问题;可以认为它是先把收到的记录(根据key和time)分配到特定的窗口中,然后不同的窗口的状态和计算都是独立的 --Original Mail -- Sender:ゞ野蠻遊戲χ Send Date:Thu Jul 9 10:16:06 2020 Recipients:user-zh Subject:回复: DataStream统计uv问题 意思是当我使用滚动窗口之后,在第一个滚动窗口中的state自动会被清除,第二个滚动窗口进来之后,获取相同的Descriptor,里面的值是null? --原始邮件-- 发件人:"Yun Gao"
Re: DataStream统计uv问题
您好: 1. 这个应该是预期内的用法,如果执行起来没有遇到问题应该是Ok的。 2. 窗口的状态会在超过最大时间+最大允许的延迟时间之后被清理。-- Sender:ゞ野蠻遊戲χ Date:2020/07/07 22:32:51 Recipient:user-zh Theme:DataStream统计uv问题 大家好! 想问下,现在在用DataStream的api来统计每天的UV,代码如下,有2个使用问题: 1、在使用Tumbling窗口的时候,由于使用窗口跨度是1天(Time.days(1)),只有以一天结束的时候,才能输出一个uv值, 这样时间等待太长了,所以加了一个trigger,每来一条都触发一次窗口,不知道这样的用法没有问题。 2、还有想问下在窗口结束后,里面的state状态会自动释放吗?还是要自己手动设置TTL的。 DataStream