1. 程式人生 > >解決用戶自生成meta導入kylin後報錯問題Can not deserialize instance of java.lang.String[] out of VALUE_STRING token

解決用戶自生成meta導入kylin後報錯問題Can not deserialize instance of java.lang.String[] out of VALUE_STRING token

pri ner hbase cau ebean 要求 eno pre property

報錯棧:

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