Hello,
I try to do some analyze using KYLIN, but it throws null exception when
executing query. The query tries to calculate VV ratio of condition A and
condition B. For simplicity, I rewrite a minimum query on ‘learn_kylin’ project
and remove the condition, so it can be reproduced easily.
KYLIN Version: apache-kylin-1.5.3 for HBase 0.98
Query:
SELECT t1.PART_DT, SUM(t2.vv) / SUM(t1.vv) AS vv_rate
FROM
(
SELECT PART_DT, COUNT(1) as vv
FROM KYLIN_SALES
GROUP BY PART_DT
) AS t1
JOIN
(
SELECT PART_DT, COUNT(1) as vv
FROM KYLIN_SALES
GROUP BY PART_DT
) AS t2
ON (t1.PART_DT = t2.PART_DT)
GROUP BY t1.PART_DT
Error on web page:
Error while executing SQL “SELECT …” null
KYLIN Server LOG:
null
at org.apache.calcite.avatica.Helper.createException(Helper.java:56)
at org.apache.calcite.avatica.Helper.createException(Helper.java:41)
at
org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:143)
at
org.apache.calcite.avatica.AvaticaStatement.executeQuery(AvaticaStatement.java:186)
at
org.apache.kylin.rest.service.QueryService.execute(QueryService.java:366)
at
org.apache.kylin.rest.service.QueryService.queryWithSqlMassage(QueryService.java:278)
at
org.apache.kylin.rest.service.QueryService.query(QueryService.java:121)
at
org.apache.kylin.rest.service.QueryService$$FastClassByCGLIB$$4957273f.invoke(<generated>)
…..
Caused by: java.lang.NullPointerException
at
org.apache.kylin.query.relnode.OLAPAggregateRel.translateAggregation(OLAPAggregateRel.java:268)
at
org.apache.kylin.query.relnode.OLAPAggregateRel.implementRewrite(OLAPAggregateRel.java:240)
at
org.apache.kylin.query.relnode.OLAPRel$RewriteImplementor.visitChild(OLAPRel.java:121)
at
org.apache.kylin.query.relnode.OLAPProjectRel.implementRewrite(OLAPProjectRel.java:233)
at
org.apache.kylin.query.relnode.OLAPRel$RewriteImplementor.visitChild(OLAPRel.java:121)
at
org.apache.kylin.query.relnode.OLAPLimitRel.implementRewrite(OLAPLimitRel.java:101)
at
org.apache.kylin.query.relnode.OLAPRel$RewriteImplementor.visitChild(OLAPRel.java:121)
at
org.apache.kylin.query.relnode.OLAPToEnumerableConverter.implement(OLAPToEnumerableConverter.java:95)
at
org.apache.calcite.adapter.enumerable.EnumerableRelImplementor.implementRoot(EnumerableRelImplementor.java:102)