Hello All,
I notice that Kylin 1.6 has a feature that more robust approach for hive
schema changes. I have test it , just alter the column name of cube’s fact
table ,it throws an error like this:
java.lang.NullPointerException
at
org.apache.kylin.cube.model.CubeDesc.getFactTableDesc(CubeDesc.java:342)
at
org.apache.kylin.source.hive.SchemaChecker$1.apply(SchemaChecker.java:110)
at
org.apache.kylin.source.hive.SchemaChecker$1.apply(SchemaChecker.java:101)
at com.google.common.collect.Iterators$7.computeNext(Iterators.java:702)
at
com.google.common.collect.AbstractIterator.tryToComputeNext(AbstractIterator.java:143)
at
com.google.common.collect.AbstractIterator.hasNext(AbstractIterator.java:138)
at
com.google.common.collect.ImmutableList.copyOf(ImmutableList.java:263)
at
com.google.common.collect.ImmutableList.copyOf(ImmutableList.java:223)
at
org.apache.kylin.source.hive.SchemaChecker.findCubeByTable(SchemaChecker.java:119)
at
org.apache.kylin.source.hive.SchemaChecker.allowReload(SchemaChecker.java:212)
at
org.apache.kylin.source.hive.HiveSourceTableLoader.reloadHiveTables(HiveSourceTableLoader.java:66)
at
org.apache.kylin.rest.service.CubeService.reloadHiveTable(CubeService.java:538)
at
org.apache.kylin.rest.service.CubeService$$FastClassBySpringCGLIB$$17a07c0e.invoke(<generated>)
at
org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
at
org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:700)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
……
What I do is to load hive table in the datasource tab after I change the hive
table using hive cli. Is any solution to this problem?