Re:回复: Window aggregate can only be defined over a time attribute column, but TIMESTAMP(3) encountered.

2020-12-14 文章 hailongwang
Hi,
   Window agg 使用可以参考[1],其中 first argument 可以是 Process time 或者 Eventime。


[1] 
https://ci.apache.org/projects/flink/flink-docs-release-1.12/dev/table/sql/queries.html#group-windows


Best,
Hailong

在 2020-12-14 09:41:12,"guoliubi...@foxmail.com"  写道:
>TUMBLE第一个参数需要的就是bigint,你这边time_local 直接用就好,不用转另外TIMESTAMP
>
>
>
>guoliubi...@foxmail.com
> 
>发件人: kandy.wang
>发送时间: 2020-12-14 10:28
>收件人: user-zh
>主题: Window aggregate can only be defined over a time attribute column, but 
>TIMESTAMP(3) encountered.
>[ERROR] Could not execute SQL statement. 
>Reason:org.apache.flink.table.api.TableException: Window aggregate can only be 
>defined over a time attribute column, but TIMESTAMP(3) encountered.
> 
> 
>SQL 如下:
>create temporary view expose as
> 
>select  
> 
>mid
> 
>,time_local
> 
>,TO_TIMESTAMP(FROM_UNIXTIME(time_local / 1000, '-MM-dd HH:mm:ss')) as 
>log_ts
> 
>,proctime
> 
>from hive.temp.kafka_table
> 
>;
>time_local 是bigint
> 
> 
> 
>select TUMBLE_START(log_ts, INTERVAL '1' MINUTE) as log_minute,count(1) pv
> 
>from expose
> 
>group by TUMBLE(log_ts, INTERVAL '1' MINUTE);
> 
> 
>window agg的字段报错,如何解决。


Re:回复: Window aggregate can only be defined over a time attribute column, but TIMESTAMP(3) encountered.

2020-12-13 文章 kandy.wang
hi guoliubin85:
一样的报错:

Flink SQL> select mid,code,floor_id,TUMBLE_START(time_local/1000, INTERVAL '1' 
MINUTE) as log_minute,count(1) pv

> from lightart_expose

> where code is not null and floor_id is not null

> group by mid,code,floor_id,TUMBLE(time_local/1000, INTERVAL '1' 
> MINUTE);[ERROR] Could not execute SQL statement. Reason:

org.apache.calcite.sql.validate.SqlValidatorException: Cannot apply '$TUMBLE' 
to arguments of type '$TUMBLE(, )'. Supported form(s): 
'$TUMBLE(, )'

'$TUMBLE(, , )'



> group by mid,code,floor_id,TUMBLE(time_local/1000, INTERVAL '1' 
> MINUTE);[ERROR] Could not execute SQL statement. Reason:
org.apache.calcite.sql.validate.SqlValidatorException: Cannot apply '$TUMBLE' 
to arguments of type '$TUMBLE(, )'. Supported form(s): 
'$TUMBLE(, )'
'$TUMBLE(, , )'

在 2020-12-14 10:41:12,"guoliubi...@foxmail.com"  写道:
>TUMBLE第一个参数需要的就是bigint,你这边time_local 直接用就好,不用转另外TIMESTAMP
>
>
>
>guoliubi...@foxmail.com
> 
>发件人: kandy.wang
>发送时间: 2020-12-14 10:28
>收件人: user-zh
>主题: Window aggregate can only be defined over a time attribute column, but 
>TIMESTAMP(3) encountered.
>[ERROR] Could not execute SQL statement. 
>Reason:org.apache.flink.table.api.TableException: Window aggregate can only be 
>defined over a time attribute column, but TIMESTAMP(3) encountered.
> 
> 
>SQL 如下:
>create temporary view expose as
> 
>select  
> 
>mid
> 
>,time_local
> 
>,TO_TIMESTAMP(FROM_UNIXTIME(time_local / 1000, '-MM-dd HH:mm:ss')) as 
>log_ts
> 
>,proctime
> 
>from hive.temp.kafka_table
> 
>;
>time_local 是bigint
> 
> 
> 
>select TUMBLE_START(log_ts, INTERVAL '1' MINUTE) as log_minute,count(1) pv
> 
>from expose
> 
>group by TUMBLE(log_ts, INTERVAL '1' MINUTE);
> 
> 
>window agg的字段报错,如何解决。