关于Flink SQL DISTINCT问题

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

关于Flink SQL DISTINCT问题

lvwenyuan
各位大佬好:
       我想问下,关于flink sql的实时去重,就是count(distinct user_id) 。就是Flink内部是如何做到实时去重,如果对于数据量比较大的时候实时去重,是否会有性能问题。用的Blink Planner
Reply | Threaded
Open this post in threaded view
|

回复: 关于Flink SQL DISTINCT问题

athlon512@gmail.com
在窗口内去重吧,不可能无限保留去重数据的



[hidden email]
 
发件人: lvwenyuan
发送时间: 2019-09-04 14:28
收件人: user-zh
主题: 关于Flink SQL DISTINCT问题
各位大佬好:
       我想问下,关于flink sql的实时去重,就是count(distinct user_id) 。就是Flink内部是如何做到实时去重,如果对于数据量比较大的时候实时去重,是否会有性能问题。用的Blink Planner
Reply | Threaded
Open this post in threaded view
|

Re:回复: 关于Flink SQL DISTINCT问题

lvwenyuan
对,肯定是按照窗口去重的。我就想问下,窗口去重时,所采用的方式
在 2019-09-04 14:38:29,"[hidden email]" <[hidden email]> 写道:

>在窗口内去重吧,不可能无限保留去重数据的
>
>
>
>[hidden email]
>
>发件人: lvwenyuan
>发送时间: 2019-09-04 14:28
>收件人: user-zh
>主题: 关于Flink SQL DISTINCT问题
>各位大佬好:
>       我想问下,关于flink sql的实时去重,就是count(distinct user_id) 。就是Flink内部是如何做到实时去重,如果对于数据量比较大的时候实时去重,是否会有性能问题。用的Blink Planner
Reply | Threaded
Open this post in threaded view
|

Re: 回复: 关于Flink SQL DISTINCT问题

JingsongLee
一般是按时间(比如天)来group by,state配置了超时过期的时间。
基本的去重方式就是靠state(比如RocksDbState)。
有mini-batch来减少对state的访问。

如果有倾斜,那是解倾斜问题的话题了。

Best,
Jingsong Lee


------------------------------------------------------------------
From:lvwenyuan <[hidden email]>
Send Time:2019年9月4日(星期三) 15:11
To:user-zh <[hidden email]>
Subject:Re:回复: 关于Flink SQL DISTINCT问题

对,肯定是按照窗口去重的。我就想问下,窗口去重时,所采用的方式
在 2019-09-04 14:38:29,"[hidden email]" <[hidden email]> 写道:

>在窗口内去重吧,不可能无限保留去重数据的
>
>
>
>[hidden email]
>
>发件人: lvwenyuan
>发送时间: 2019-09-04 14:28
>收件人: user-zh
>主题: 关于Flink SQL DISTINCT问题
>各位大佬好:
>       我想问下,关于flink sql的实时去重,就是count(distinct user_id) 。就是Flink内部是如何做到实时去重,如果对于数据量比较大的时候实时去重,是否会有性能问题。用的Blink Planner
Reply | Threaded
Open this post in threaded view
|

Re: 回复: 关于Flink SQL DISTINCT问题

LakeShen
是否可以使用 空闲状态 Retention Time 来设置

JingsongLee <[hidden email]> 于2019年9月4日周三 下午6:12写道:

>  一般是按时间(比如天)来group by,state配置了超时过期的时间。
> 基本的去重方式就是靠state(比如RocksDbState)。
>  有mini-batch来减少 对state的访问。
>
> 如果有倾斜,那是解倾斜问题的话题了。
>
> Best,
> Jingsong Lee
>
>
> ------------------------------------------------------------------
> From:lvwenyuan <[hidden email]>
> Send Time:2019年9月4日(星期三) 15:11
> To:user-zh <[hidden email]>
> Subject:Re:回复: 关于Flink SQL DISTINCT问题
>
> 对,肯定是按照窗口去重的。我就想问下,窗口去重时,所采用的方式
> 在 2019-09-04 14:38:29,"[hidden email]" <[hidden email]> 写道:
> >在窗口内去重吧,不可能无限保留去重数据的
> >
> >
> >
> >[hidden email]
> >
> >发件人: lvwenyuan
> >发送时间: 2019-09-04 14:28
> >收件人: user-zh
> >主题: 关于Flink SQL DISTINCT问题
> >各位大佬好:
> >       我想问下,关于flink sql的实时去重,就是count(distinct user_id)
> 。就是Flink内部是如何做到实时去重,如果对于数据量比较大的时候实时去重,是否会有性能问题。用的Blink Planner
>