yutiantian created HIVE-26844:
---------------------------------
Summary: hive 执行 insert overwrite 中带有 GET_JSON_OBJECT
报NoClassDefFoundError: org/codehaus/jackson/annotate/JsonClass问题
Key: HIVE-26844
URL: https://issues.apache.org/jira/browse/HIVE-26844
Project: Hive
Issue Type: Bug
Environment: hive版本:2.3.7
hadoop版本:2.7.2
Reporter: yutiantian
hive版本:2.3.7
hadoop版本:2.7.2
通过hive 执行 INSERT OVERWRITE TABLE test.test_temp PARTITION(dt = '2021-07-01')
SELECT null AS local_time,null AS local_date,TRIM(GET_JSON_OBJECT(request_body,
'$.app_version')) AS app_version FROM test.test_ods_checklog WHERE dt =
'2021-07-01' limit 1;
会报如下错误:
Caused by: java.lang.NoClassDefFoundError:
org/codehaus/jackson/annotate/JsonClass
at
org.codehaus.jackson.map.introspect.JacksonAnnotationIntrospector.findDeserializationType(JacksonAnnotationIntrospector.java:524)
at
org.codehaus.jackson.map.deser.BasicDeserializerFactory.modifyTypeByAnnotation(BasicDeserializerFactory.java:732)
at
org.codehaus.jackson.map.deser.BasicDeserializerFactory.createMapDeserializer(BasicDeserializerFactory.java:337)
at
org.codehaus.jackson.map.deser.StdDeserializerProvider._createDeserializer(StdDeserializerProvider.java:377)
at
org.codehaus.jackson.map.deser.StdDeserializerProvider._createAndCache2(StdDeserializerProvider.java:307)
at
org.codehaus.jackson.map.deser.StdDeserializerProvider._createAndCacheValueDeserializer(StdDeserializerProvider.java:287)
at
org.codehaus.jackson.map.deser.StdDeserializerProvider.findValueDeserializer(StdDeserializerProvider.java:136)
at
org.codehaus.jackson.map.deser.StdDeserializerProvider.findTypedValueDeserializer(StdDeserializerProvider.java:157)
at
org.codehaus.jackson.map.ObjectMapper._findRootDeserializer(ObjectMapper.java:2468)
at
org.codehaus.jackson.map.ObjectMapper._readMapAndClose(ObjectMapper.java:2402)
at org.codehaus.jackson.map.ObjectMapper.readValue(ObjectMapper.java:1616)
at org.apache.hadoop.hive.ql.udf.UDFJson.evaluate(UDFJson.java:170)
... 27 more
但是,单独执行 SELECT null AS local_time,null AS
local_date,TRIM(GET_JSON_OBJECT(request_body, '$.app_version')) AS app_version
FROM test.test_ods_checklog WHERE dt = '2021-07-01' limit 1; 可以正常执行。
请问,这是哪里的问题呢,感谢回复。
--
This message was sent by Atlassian Jira
(v8.20.10#820010)