You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Jark Wu (Jira)" <ji...@apache.org> on 2020/05/26 10:34:00 UTC
[jira] [Assigned] (FLINK-17022) Flink SQL ROW_NUMBER() Exception:
TableException: This calc has no useful projection and no filter. It should
be removed by CalcRemoveRule.
[ https://issues.apache.org/jira/browse/FLINK-17022?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Jark Wu reassigned FLINK-17022:
-------------------------------
Assignee: godfrey he
> Flink SQL ROW_NUMBER() Exception: TableException: This calc has no useful projection and no filter. It should be removed by CalcRemoveRule.
> -------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: FLINK-17022
> URL: https://issues.apache.org/jira/browse/FLINK-17022
> Project: Flink
> Issue Type: Bug
> Components: Table SQL / Planner
> Affects Versions: 1.10.0
> Environment: flink 1.10 with PR:
> https://issues.apache.org/jira/browse/FLINK-16068
> https://issues.apache.org/jira/browse/FLINK-16345
> Reporter: xingoo
> Assignee: godfrey he
> Priority: Major
> Fix For: 1.11.0
>
>
> exception:
> {code:java}
> //代码占位符
> Caused by: org.apache.flink.table.api.TableException: This calc has no useful projection and no filter. It should be removed by CalcRemoveRule.
> at org.apache.flink.table.planner.codegen.CalcCodeGenerator$.generateProcessCode(CalcCodeGenerator.scala:176)
> at org.apache.flink.table.planner.codegen.CalcCodeGenerator$.generateCalcOperator(CalcCodeGenerator.scala:49)
> at org.apache.flink.table.planner.plan.nodes.physical.stream.StreamExecCalc.translateToPlanInternal(StreamExecCalc.scala:77)
> at org.apache.flink.table.planner.plan.nodes.physical.stream.StreamExecCalc.translateToPlanInternal(StreamExecCalc.scala:39)
> at org.apache.flink.table.planner.plan.nodes.exec.ExecNode$class.translateToPlan(ExecNode.scala:58)
> at org.apache.flink.table.planner.plan.nodes.physical.stream.StreamExecCalcBase.translateToPlan(StreamExecCalcBase.scala:38)
> at org.apache.flink.table.planner.plan.nodes.physical.stream.StreamExecExchange.translateToPlanInternal(StreamExecExchange.scala:84)
> at org.apache.flink.table.planner.plan.nodes.physical.stream.StreamExecExchange.translateToPlanInternal(StreamExecExchange.scala:44)
> at org.apache.flink.table.planner.plan.nodes.exec.ExecNode$class.translateToPlan(ExecNode.scala:58)
> at org.apache.flink.table.planner.plan.nodes.physical.stream.StreamExecExchange.translateToPlan(StreamExecExchange.scala:44)
> at org.apache.flink.table.planner.plan.nodes.physical.stream.StreamExecRank.translateToPlanInternal(StreamExecRank.scala:209)
> at org.apache.flink.table.planner.plan.nodes.physical.stream.StreamExecRank.translateToPlanInternal(StreamExecRank.scala:53)
> at org.apache.flink.table.planner.plan.nodes.exec.ExecNode$class.translateToPlan(ExecNode.scala:58)
> at org.apache.flink.table.planner.plan.nodes.physical.stream.StreamExecRank.translateToPlan(StreamExecRank.scala:53)
> at org.apache.flink.table.planner.delegation.StreamPlanner$$anonfun$translateToPlan$1.apply(StreamPlanner.scala:60)
> at org.apache.flink.table.planner.delegation.StreamPlanner$$anonfun$translateToPlan$1.apply(StreamPlanner.scala:59)
> at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)
> at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:234)
> at scala.collection.Iterator$class.foreach(Iterator.scala:891)
> at scala.collection.AbstractIterator.foreach(Iterator.scala:1334)
> at scala.collection.IterableLike$class.foreach(IterableLike.scala:72)
> at scala.collection.AbstractIterable.foreach(Iterable.scala:54)
> at scala.collection.TraversableLike$class.map(TraversableLike.scala:234)
> at scala.collection.AbstractTraversable.map(Traversable.scala:104)
> at org.apache.flink.table.planner.delegation.StreamPlanner.translateToPlan(StreamPlanner.scala:59)
> at org.apache.flink.table.planner.delegation.StreamPlanner.explain(StreamPlanner.scala:81)
> at org.apache.flink.table.api.internal.TableEnvironmentImpl.explain(TableEnvironmentImpl.java:447)
> at org.apache.flink.table.api.internal.TableEnvironmentImpl.explain(TableEnvironmentImpl.java:442)
> at com.ververica.flink.table.gateway.operation.ExplainOperation.lambda$execute$0(ExplainOperation.java:53)
> at com.ververica.flink.table.gateway.context.ExecutionContext.wrapClassLoader(ExecutionContext.java:230)
> at com.ververica.flink.table.gateway.operation.ExplainOperation.execute(ExplainOperation.java:53)
> ... 45 more
> {code}
> sql:
> {code:java}
> //代码占位符
> create view v1 as
> select a, b, count(1) as c
> from test_kafka_t
> group by a,b,HOP(ts, INTERVAL '10' SECOND, INTERVAL '1' MINUTE);
> explain
> select * from (
> SELECT *, row_number() over (PARTITION BY a ORDER BY c) AS rn
> FROM v1
> -- where 1=1 -- this can fix
> )
> where rn <= 5
> {code}
> kafka topic:
> {code:java}
> //代码占位符
> CREATE TABLE test_kafka_t (
> a varchar,
> b int,
> ts as PROCTIME()
> ) WITH (
> 'connector.type' = 'kafka',
> 'connector.version' = '0.11',
> 'connector.topic' = 'xx',
> 'connector.properties.zookeeper.connect' = 'xx',
> 'connector.properties.bootstrap.servers' = 'xx',
> 'connector.properties.group.id' = 'testGroup',
> 'connector.startup-mode' = 'latest-offset',
> 'format.type' = 'json'
> )
> {code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)