Hi All, Do you know if window function supported on SQL yet? I got the error message when trying to use group function in SQL.
My query below: val query = "SELECT nd_key, concept_rank, event_timestamp FROM "+streamName + " GROUP BY TUMBLE(event_timestamp, INTERVAL '1' HOUR), nd_key" Error Message: Exception in thread "main" org.apache.flink.table.api.ValidationException: SQL validation failed. From line 1, column 74 to line 1, column 115: Cannot apply 'TUMBLE' to arguments of type 'TUMBLE(<BIGINT>, <INTERVAL HOUR>)'. Supported form(s): 'TUMBLE(<DATETIME>, <DATETIME_INTERVAL>)' 'TUMBLE(<DATETIME>, <DATETIME_INTERVAL>, <TIME>)' at org.apache.flink.table.calcite.FlinkPlannerImpl. validate(FlinkPlannerImpl.scala:93) at org.apache.flink.table.api.TableEnvironment.sqlQuery( TableEnvironment.scala:561) at com.udacity.data.pipeline.AggregationJob$.main(AggregationJob.scala:43) at com.udacity.data.pipeline.AggregationJob.main(AggregationJob.scala) Caused by: org.apache.calcite.runtime.CalciteContextException: From line 1, column 74 to line 1, column 115: Cannot apply 'TUMBLE' to arguments of type 'TUMBLE(<BIGINT>, <INTERVAL HOUR>)'. Supported form(s): 'TUMBLE(<DATETIME>, <DATETIME_INTERVAL>)' 'TUMBLE(<DATETIME>, <DATETIME_INTERVAL>, <TIME>)' at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance( NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance( DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at org.apache.calcite.runtime.Resources$ExInstWithCause.ex( Resources.java:463) at org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:803) at org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:788) at org.apache.calcite.sql.validate.SqlValidatorImpl.newValidationError( SqlValidatorImpl.java:4654) at org.apache.calcite.sql.SqlCallBinding.newValidationSignatureError( SqlCallBinding.java:284) at org.apache.calcite.sql.type.FamilyOperandTypeChecker. checkSingleOperandType(FamilyOperandTypeChecker.java:92) at org.apache.calcite.sql.type.FamilyOperandTypeChecker.checkOperandTypes( FamilyOperandTypeChecker.java:109) at org.apache.calcite.sql.type.CompositeOperandTypeChecker. checkOperandTypes(CompositeOperandTypeChecker.java:243) at org.apache.calcite.sql.SqlOperator.checkOperandTypes( SqlOperator.java:659) at org.apache.calcite.sql.SqlOperator.validateOperands(SqlOperator.java:432) at org.apache.calcite.sql.SqlFunction.deriveType(SqlFunction.java:287) at org.apache.calcite.sql.SqlFunction.deriveType(SqlFunction.java:223) at org.apache.calcite.sql.validate.SqlValidatorImpl$DeriveTypeVisitor.visit( SqlValidatorImpl.java:5374) at org.apache.calcite.sql.validate.SqlValidatorImpl$DeriveTypeVisitor.visit( SqlValidatorImpl.java:5361) at org.apache.calcite.sql.SqlCall.accept(SqlCall.java:138) at org.apache.calcite.sql.validate.SqlValidatorImpl.deriveTypeImpl( SqlValidatorImpl.java:1595) at org.apache.calcite.sql.validate.SqlValidatorImpl. deriveType(SqlValidatorImpl.java:1580) at org.apache.calcite.sql.SqlNode.validateExpr(SqlNode.java:225) at org.apache.calcite.sql.validate.SqlValidatorImpl.validateGroupClause( SqlValidatorImpl.java:3824) at org.apache.calcite.sql.validate.SqlValidatorImpl.validateSelect( SqlValidatorImpl.java:3210) at org.apache.calcite.sql.validate.SelectNamespace. validateImpl(SelectNamespace.java:60) at org.apache.calcite.sql.validate.AbstractNamespace. validate(AbstractNamespace.java:84) at org.apache.calcite.sql.validate.SqlValidatorImpl.validateNamespace( SqlValidatorImpl.java:945) at org.apache.calcite.sql.validate.SqlValidatorImpl.validateQuery( SqlValidatorImpl.java:926) at org.apache.calcite.sql.SqlSelect.validate(SqlSelect.java:226) at org.apache.calcite.sql.validate.SqlValidatorImpl. validateScopedExpression(SqlValidatorImpl.java:901) at org.apache.calcite.sql.validate.SqlValidatorImpl. validate(SqlValidatorImpl.java:611) at org.apache.flink.table.calcite.FlinkPlannerImpl. validate(FlinkPlannerImpl.scala:89) ... 3 more Caused by: org.apache.calcite.sql.validate.SqlValidatorException: Cannot apply 'TUMBLE' to arguments of type 'TUMBLE(<BIGINT>, <INTERVAL HOUR>)'. Supported form(s): 'TUMBLE(<DATETIME>, <DATETIME_INTERVAL>)' 'TUMBLE(<DATETIME>, <DATETIME_INTERVAL>, <TIME>)' at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance( NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance( DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at org.apache.calcite.runtime.Resources$ExInstWithCause.ex( Resources.java:463) at org.apache.calcite.runtime.Resources$ExInst.ex(Resources.java:572) ... 30 more