回复:请教:时间属性字段传递问题,有办法解决吗?

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

回复:请教:时间属性字段传递问题,有办法解决吗?

kcz
可以再解释一下吗?还是没有看太懂是哪里出错,以及为什么那样就可以解决问题。





------------------ 原始邮件 ------------------
发件人: Tianwang Li <[hidden email]&gt;
发送时间: 2020年8月6日 21:40
收件人: user-zh <[hidden email]&gt;
主题: 回复:请教:时间属性字段传递问题,有办法解决吗?



知道了,使用TUMBLE_ROWTIME HOP_ROWTIME SESSION_ROWTIME
&nbsp;可以传递了。


Tianwang Li <[hidden email]&gt; 于2020年8月6日周四 下午9:12写道:

&gt;
&gt; 我向做两次的窗口计算。
&gt; 1、第一次5分钟窗口。
&gt; 2、第二次10分钟窗口,使用的上一次窗口的结果。
&gt;
&gt;
&gt; 我尝试了发生了异常, Window aggregate can only be defined over a time attribute
&gt; column, but TIMESTAMP(3) encountered.
&gt;
&gt; 请问有什么办法可以解决吗?
&gt; 我希望是一个窗口计算后面可以再接一个窗口计算。
&gt;
&gt;
&gt; 第一次计算:
&gt;
&gt; CREATE VIEW tmp_5min AS
&gt; SELECT
&gt;
&gt;&nbsp;&nbsp; max(rowtime) as rowtime,
&gt;&nbsp;&nbsp; TUMBLE_START(`rowtime`, INTERVAL '5' minute) AS window_start,
&gt;
&gt;&nbsp;&nbsp; user_group,
&gt;&nbsp;&nbsp; COUNT(*) AS cnt
&gt; FROM user_behavior
&gt;
&gt; GROUP BY
&gt;
&gt; TUMBLE(`rowtime`, INTERVAL '5' minute),
&gt;
&gt; user_group
&gt;
&gt; 第二次计算:
&gt;
&gt; CREATE VIEW tmp_10min AS
&gt; SELECT
&gt;
&gt;&nbsp;&nbsp; max(rowtime) as rowtime,
&gt;&nbsp;&nbsp; TUMBLE_START(`rowtime`, INTERVAL '10' minute) AS window_start,
&gt;
&gt;&nbsp;&nbsp; user_group,
&gt;&nbsp;&nbsp; SUM(cnt) AS sum_cnt
&gt; FROM tmp_5min
&gt;
&gt; GROUP BY
&gt;
&gt; TUMBLE(`rowtime`, INTERVAL '10' minute),
&gt;
&gt; user_group
&gt;
&gt;
&gt;
&gt; --
&gt; **************************************
&gt; tivan
&gt; **************************************
&gt;


--
**************************************
&nbsp;tivanli
**************************************
Reply | Threaded
Open this post in threaded view
|

Re: 请教:时间属性字段传递问题,有办法解决吗?

Benchao Li-2
可以参考这里的文档[1]

[1]
https://ci.apache.org/projects/flink/flink-docs-master/dev/table/sql/queries.html#selecting-group-window-start-and-end-timestamps

kcz <[hidden email]> 于2020年8月6日周四 下午11:04写道:

> 可以再解释一下吗?还是没有看太懂是哪里出错,以及为什么那样就可以解决问题。
>
>
>
>
>
> ------------------ 原始邮件 ------------------
> 发件人: Tianwang Li <[hidden email]&gt;
> 发送时间: 2020年8月6日 21:40
> 收件人: user-zh <[hidden email]&gt;
> 主题: 回复:请教:时间属性字段传递问题,有办法解决吗?
>
>
>
> 知道了,使用TUMBLE_ROWTIME HOP_ROWTIME SESSION_ROWTIME
> &nbsp;可以传递了。
>
>
> Tianwang Li <[hidden email]&gt; 于2020年8月6日周四 下午9:12写道:
>
> &gt;
> &gt; 我向做两次的窗口计算。
> &gt; 1、第一次5分钟窗口。
> &gt; 2、第二次10分钟窗口,使用的上一次窗口的结果。
> &gt;
> &gt;
> &gt; 我尝试了发生了异常, Window aggregate can only be defined over a time attribute
> &gt; column, but TIMESTAMP(3) encountered.
> &gt;
> &gt; 请问有什么办法可以解决吗?
> &gt; 我希望是一个窗口计算后面可以再接一个窗口计算。
> &gt;
> &gt;
> &gt; 第一次计算:
> &gt;
> &gt; CREATE VIEW tmp_5min AS
> &gt; SELECT
> &gt;
> &gt;&nbsp;&nbsp; max(rowtime) as rowtime,
> &gt;&nbsp;&nbsp; TUMBLE_START(`rowtime`, INTERVAL '5' minute) AS
> window_start,
> &gt;
> &gt;&nbsp;&nbsp; user_group,
> &gt;&nbsp;&nbsp; COUNT(*) AS cnt
> &gt; FROM user_behavior
> &gt;
> &gt; GROUP BY
> &gt;
> &gt; TUMBLE(`rowtime`, INTERVAL '5' minute),
> &gt;
> &gt; user_group
> &gt;
> &gt; 第二次计算:
> &gt;
> &gt; CREATE VIEW tmp_10min AS
> &gt; SELECT
> &gt;
> &gt;&nbsp;&nbsp; max(rowtime) as rowtime,
> &gt;&nbsp;&nbsp; TUMBLE_START(`rowtime`, INTERVAL '10' minute) AS
> window_start,
> &gt;
> &gt;&nbsp;&nbsp; user_group,
> &gt;&nbsp;&nbsp; SUM(cnt) AS sum_cnt
> &gt; FROM tmp_5min
> &gt;
> &gt; GROUP BY
> &gt;
> &gt; TUMBLE(`rowtime`, INTERVAL '10' minute),
> &gt;
> &gt; user_group
> &gt;
> &gt;
> &gt;
> &gt; --
> &gt; **************************************
> &gt; tivan
> &gt; **************************************
> &gt;
>
>
> --
> **************************************
> &nbsp;tivanli
> **************************************



--

Best,
Benchao Li