码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2017-07-04 23:21:13      阅读:1747      评论:0      收藏:0      [点我收藏+]

标签:ini   etc   div   token   fas   reload   metadata   dmi   lang   

报错栈:

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 kylin_metadata@hbase
        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: java.io.DataInputStream@1a4a9b5a; 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

标签:ini   etc   div   token   fas   reload   metadata   dmi   lang   

原文地址:http://www.cnblogs.com/aprilrain/p/7118809.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!