Hi all. I got some stupid question about Flink SQL...
# troubleshooting
j
Hi all. I got some stupid question about Flink SQL. Is it possible to use
StatementSet
to run insert query two times within one execution? I am trying to sink data to Kafka and mysql at the same time using one job.
j
Cool. I just tested and it works with simple SQL. Now, i got some error if i use Window function in SQL. Here is the error.Have you seen this before?
Copy code
Exception in thread "main" java.lang.NullPointerException
	at org.apache.flink.table.planner.plan.metadata.FlinkRelMdWindowProperties.getJoinWindowProperties(FlinkRelMdWindowProperties.scala:373)
	at org.apache.flink.table.planner.plan.metadata.FlinkRelMdWindowProperties.getWindowProperties(FlinkRelMdWindowProperties.scala:349)
	at GeneratedMetadataHandler_WindowProperties.getWindowProperties_$(Unknown Source)
	at GeneratedMetadataHandler_WindowProperties.getWindowProperties(Unknown Source)
	at org.apache.flink.table.planner.plan.metadata.FlinkRelMetadataQuery.getRelWindowProperties(FlinkRelMetadataQuery.java:261)
	at org.apache.flink.table.planner.plan.metadata.FlinkRelMdWindowProperties.getProjectWindowProperties(FlinkRelMdWindowProperties.scala:88)
	at org.apache.flink.table.planner.plan.metadata.FlinkRelMdWindowProperties.getWindowProperties(FlinkRelMdWindowProperties.scala:74)
	at GeneratedMetadataHandler_WindowProperties.getWindowProperties_$(Unknown Source)
	at GeneratedMetadataHandler_WindowProperties.getWindowProperties(Unknown Source)
	at org.apache.flink.table.planner.plan.metadata.FlinkRelMetadataQuery.getRelWindowProperties(FlinkRelMetadataQuery.java:261)
	at org.apache.flink.table.planner.plan.optimize.StreamCommonSubGraphBasedOptimizer.createIntermediateRelTable(StreamCommonSubGraphBasedOptimizer.scala:287)
	at org.apache.flink.table.planner.plan.optimize.StreamCommonSubGraphBasedOptimizer.optimizeBlock(StreamCommonSubGraphBasedOptimizer.scala:138)
	at org.apache.flink.table.planner.plan.optimize.StreamCommonSubGraphBasedOptimizer.$anonfun$optimizeBlock$1(StreamCommonSubGraphBasedOptimizer.scala:111)
	at org.apache.flink.table.planner.plan.optimize.StreamCommonSubGraphBasedOptimizer.$anonfun$optimizeBlock$1$adapted(StreamCommonSubGraphBasedOptimizer.scala:109)
	at scala.collection.mutable.ResizableArray.foreach(ResizableArray.scala:58)
	at scala.collection.mutable.ResizableArray.foreach$(ResizableArray.scala:51)
	at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:47)
	at org.apache.flink.table.planner.plan.optimize.StreamCommonSubGraphBasedOptimizer.optimizeBlock(StreamCommonSubGraphBasedOptimizer.scala:109)
	at org.apache.flink.table.planner.plan.optimize.StreamCommonSubGraphBasedOptimizer.$anonfun$doOptimize$2(StreamCommonSubGraphBasedOptimizer.scala:90)
	at org.apache.flink.table.planner.plan.optimize.StreamCommonSubGraphBasedOptimizer.$anonfun$doOptimize$2$adapted(StreamCommonSubGraphBasedOptimizer.scala:90)
	at scala.collection.mutable.ResizableArray.foreach(ResizableArray.scala:58)
	at scala.collection.mutable.ResizableArray.foreach$(ResizableArray.scala:51)
	at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:47)
	at org.apache.flink.table.planner.plan.optimize.StreamCommonSubGraphBasedOptimizer.doOptimize(StreamCommonSubGraphBasedOptimizer.scala:90)
	at org.apache.flink.table.planner.plan.optimize.CommonSubGraphBasedOptimizer.optimize(CommonSubGraphBasedOptimizer.scala:87)
	at org.apache.flink.table.planner.delegation.PlannerBase.optimize(PlannerBase.scala:315)
	at org.apache.flink.table.planner.delegation.PlannerBase.translate(PlannerBase.scala:195)
	at org.apache.flink.table.api.internal.TableEnvironmentImpl.translate(TableEnvironmentImpl.java:1733)
	at org.apache.flink.table.api.internal.TableEnvironmentImpl.executeInternal(TableEnvironmentImpl.java:825)
	at org.apache.flink.table.api.internal.StatementSetImpl.execute(StatementSetImpl.java:108)
Perhaps, there is some limitation?
m
Are you using the SQL Client or are you using SQL in a Table API application?
j
I am using SQL in Table API
For me, it seems like Flink fails to compile the SQL, maybe the SQL is too complicated?