Flink DataStream 统计UV问题

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Flink DataStream 统计UV问题

ゞ野蠻遊戲χ
大家好!

     想问下,现在在用DataStream的api来统计每天的UV,代码如下,有2个使用问题:
1、在使用Tumbling窗口的时候,由于使用窗口跨度是1天(Time.days(1)),只有以一天结束的时候,才能输出一个uv值,
这样时间等待太长了,所以加了一个trigger,每来一条都触发一次窗口,不知道这样的用法没有问题。
2、还有想问下在窗口结束后,里面的state状态会自动释放吗?还是要自己手动设置TTL的。

    
谢谢!
Jiazhi
Reply | Threaded
Open this post in threaded view
|

Re: Flink DataStream 统计UV问题

shizk233
Hi Jiazhi,

1.如果数据流量不是很大的话,按每条数据触发也没问题。另外,基于事件时间的情况,提前触发可以选择ContinuousEventTimeTrigger,可以查看Trigger接口的实现找到你想要的trigger。
2.窗口结束后会自动释放。一般对于Global窗口需要手动设置TTL

Best,
shizk233

ゞ野蠻遊戲χ <[hidden email]> 于2020年7月7日周二 下午10:27写道:

> 大家好!
>
>      想问下,现在在用DataStream的api来统计每天的UV,代码如下,有2个使用问题:
> 1、在使用Tumbling窗口的时候,由于使用窗口跨度是1天(Time.days(1)),只有以一天结束的时候,才能输出一个uv值,
> 这样时间等待太长了,所以加了一个trigger,每来一条都触发一次窗口,不知道这样的用法没有问题。
> 2、还有想问下在窗口结束后,里面的state状态会自动释放吗?还是要自己手动设置TTL的。
>
>
> 谢谢!
> Jiazhi
>
Reply | Threaded
Open this post in threaded view
|

Re: Flink DataStream 统计UV问题

tison
你这个需求貌似是要看一天的 UV 的实时更新量,可以看一下 sliding window。如果是每天 0 点清零,实时看今天的
UV,那就是另一个问题了,应该需要自己定义 trigger & evictor

每条触发一次 window...看你数据量吧

Best,
tison.


shizk233 <[hidden email]> 于2020年7月10日周五 上午10:23写道:

> Hi Jiazhi,
>
>
> 1.如果数据流量不是很大的话,按每条数据触发也没问题。另外,基于事件时间的情况,提前触发可以选择ContinuousEventTimeTrigger,可以查看Trigger接口的实现找到你想要的trigger。
> 2.窗口结束后会自动释放。一般对于Global窗口需要手动设置TTL
>
> Best,
> shizk233
>
> ゞ野蠻遊戲χ <[hidden email]> 于2020年7月7日周二 下午10:27写道:
>
> > 大家好!
> >
> >      想问下,现在在用DataStream的api来统计每天的UV,代码如下,有2个使用问题:
> > 1、在使用Tumbling窗口的时候,由于使用窗口跨度是1天(Time.days(1)),只有以一天结束的时候,才能输出一个uv值,
> > 这样时间等待太长了,所以加了一个trigger,每来一条都触发一次窗口,不知道这样的用法没有问题。
> > 2、还有想问下在窗口结束后,里面的state状态会自动释放吗?还是要自己手动设置TTL的。
> >
> >
> > 谢谢!
> > Jiazhi
> >
>