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

Reply via email to