No perfect solution at the moment. From a design perspective, we can cope
with column addition. But column rename/deletion are very difficult to
handle. Usually requires rebuild the cube again.

Any better idea?

Yang

On Tue, Dec 13, 2016 at 8:50 AM, Mars Xu <[email protected]> wrote:

>
>
> > 在 2016年12月12日,下午8:14,Mars Xu <[email protected]> 写道:
> >
> > 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?
>
>
>
> Mars

Reply via email to