解决用户自生成meta导入kylin后报错问题Can not deserialize instance of java.lang.String[] out of VALUE_STRING token(

Posted 凿石刻字

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决用户自生成meta导入kylin后报错问题Can not deserialize instance of java.lang.String[] out of VALUE_STRING token(相关的知识,希望对你有一定的参考价值。

报错栈:

2017-06-22 20:48:07,101 ERROR [http-bio-7070-exec-5] cube.CubeManager:947 : Error during load cube instance, skipping : /cube/energon_dm_admission_record_fact_01.json
java.lang.IllegalStateException: Failed to init CubeDescManager from [email protected]
        at org.apache.kylin.cube.CubeDescManager.getInstance(CubeDescManager.java:78)
        at org.apache.kylin.cube.CubeManager.reloadCubeLocalAt(CubeManager.java:922)
        at org.apache.kylin.cube.CubeManager.loadAllCubeInstance(CubeManager.java:900)
        at org.apache.kylin.cube.CubeManager.<init>(CubeManager.java:141)
        at org.apache.kylin.cube.CubeManager.getInstance(CubeManager.java:105)
        at org.apache.kylin.rest.service.BasicService.getCubeManager(BasicService.java:68)
        at org.apache.kylin.rest.service.CubeService.listAllCubes(CubeService.java:100)
        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)
        at org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:64)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
        at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:633)
        at org.apache.kylin.rest.service.CubeService$$EnhancerBySpringCGLIB$$543fa169.listAllCubes(<generated>)
        at org.apache.kylin.rest.controller.CubeController.getCubes(CubeController.java:97)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221)
        at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:136)
        at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)
        at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:743)
        at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:672)
        at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:82)
        at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:933)
        at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:867)
.....
Caused by: com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize instance of java.lang.String[] out of VALUE_STRING token
 at [Source: [email protected]; line: 1, column: 205] (through reference chain: org.apache.kylin.cube.model.CubeDesc["null_string"])
        at com.fasterxml.jackson.databind.JsonMappingException.from(JsonMappingException.java:148)
        at com.fasterxml.jackson.databind.DeserializationContext.mappingException(DeserializationContext.java:857)
        at com.fasterxml.jackson.databind.DeserializationContext.mappingException(DeserializationContext.java:853)
        at com.fasterxml.jackson.databind.deser.std.StringArrayDeserializer.handleNonArray(StringArrayDeserializer.java:145)
        at com.fasterxml.jackson.databind.deser.std.StringArrayDeserializer.deserialize(StringArrayDeserializer.java:47)
        at com.fasterxml.jackson.databind.deser.std.StringArrayDeserializer.deserialize(StringArrayDeserializer.java:17)
        at com.fasterxml.jackson.databind.deser.SettableBeanProperty.deserialize(SettableBeanProperty.java:520)
        at com.fasterxml.jackson.databind.deser.impl.FieldProperty.deserializeAndSet(FieldProperty.java:101)
        at com.fasterxml.jackson.databind.deser.BeanDeserializer.vanillaDeserialize(BeanDeserializer.java:258)
        at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:125)
        at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:3736)
        at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:2796)
        at org.apache.kylin.common.util.JsonUtil.readValue(JsonUtil.java:62)
        at org.apache.kylin.common.persistence.JsonSerializer.deserialize(JsonSerializer.java:40)
        at org.apache.kylin.common.persistence.ResourceStore.getResource(ResourceStore.java:146)
        at org.apache.kylin.cube.CubeDescManager.loadCubeDesc(CubeDescManager.java:173)
        at org.apache.kylin.cube.CubeDescManager.reloadAllCubeDesc(CubeDescManager.java:252)
        at org.apache.kylin.cube.CubeDescManager.<init>(CubeDescManager.java:99)
        at org.apache.kylin.cube.CubeDescManager.getInstance(CubeDescManager.java:71)
        ... 86 more
解决:
null_string字段kylin要求为string[],但自生成的meta里面却是空串,所以导致json反序列化失败

以上是关于解决用户自生成meta导入kylin后报错问题Can not deserialize instance of java.lang.String[] out of VALUE_STRING token(的主要内容,如果未能解决你的问题,请参考以下文章

maven工程导入eclipse后报错

编写的java项目在另一台电脑上导入打开后报错 怎么解决?急

pynput打包成exe后报错闪退问题

在android studio上导入旧项目后报错提示:Your project file contains non-ASCII characters.

在Android Studio上导入github的项目后报错提示:Unknown host ‘repo.maven.apache.org‘

Mina框架使用:导入依赖包后报错