可以参考这里的文档[1]

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

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

> 可以再解释一下吗?还是没有看太懂是哪里出错,以及为什么那样就可以解决问题。
>
>
>
>
>
> ------------------ 原始邮件 ------------------
> 发件人: Tianwang Li <[email protected]&gt;
> 发送时间: 2020年8月6日 21:40
> 收件人: user-zh <[email protected]&gt;
> 主题: 回复:请教:时间属性字段传递问题,有办法解决吗?
>
>
>
> 知道了,使用TUMBLE_ROWTIME HOP_ROWTIME SESSION_ROWTIME
> &nbsp;可以传递了。
>
>
> Tianwang Li <[email protected]&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

回复