参考zeppelin的做法,每个线程里都调用这个 https://github.com/apache/zeppelin/blob/master/flink/interpreter/src/main/java/org/apache/zeppelin/flink/FlinkSqlInterrpeter.java#L111
jun su <sujun891...@gmail.com> 于2020年9月14日周一 上午11:54写道: > hi all, > > 多线程模式下执行sql , 在非聚合sql时报了如下错误: > > Caused by: java.lang.NullPointerException > at java.util.Objects.requireNonNull(Objects.java:203) > at > > org.apache.calcite.rel.metadata.RelMetadataQuery.<init>(RelMetadataQuery.java:141) > at > > org.apache.calcite.rel.metadata.RelMetadataQuery.<init>(RelMetadataQuery.java:106) > > > > 已经用RelMetadataQueryBase.THREAD_PROVIDERS.set(JaninoRelMetadataProvider.of(FlinkDefaultRelMetadataProvider.INSTANCE())) > 解决 > > > 但是执行聚合sql时 , 仍然会报错, 请问有办法临时fix? > > Caused by: java.lang.NullPointerException > at scala.Predef$.Double2double(Predef.scala:365) > at > > org.apache.flink.table.planner.plan.nodes.logical.FlinkLogicalAggregate.computeSelfCost(FlinkLogicalAggregate.scala:81) > at > > org.apache.calcite.rel.metadata.RelMdPercentageOriginalRows.getNonCumulativeCost(RelMdPercentageOriginalRows.java:174) > at > GeneratedMetadataHandler_NonCumulativeCost.getNonCumulativeCost_$(Unknown > Source) > at GeneratedMetadataHandler_NonCumulativeCost.getNonCumulativeCost(Unknown > Source) > > -- > Best, > Jun Su > -- Best Regards Jeff Zhang