[ 
https://issues.apache.org/jira/browse/HIVE-25188?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17356065#comment-17356065
 ] 

Zhihua Deng edited comment on HIVE-25188 at 6/3/21, 1:12 AM:
-------------------------------------------------------------

Oh, sorry for the misspelling json. yes we can encode the data, decode when 
using,  inspecting the value by some json functions. In this way, the json file 
may not be easy to read  at first glance, and another encoding-decoding step is 
introduced in order to be able to read the json by hive. In fact the 
[org.openx.data.jsonserde.JsonSerDe|https://github.com/rcongiu/Hive-JSON-Serde/blob/develop/json-serde/src/main/java/org/openx/data/jsonserde/JsonSerDe.java]
 can retrieve the "data" field directly,  but we hope to migrate it to hive 
embedded json serde utils.

Thanks, Zhihua Deng


was (Author: dengzh):
Oh, sorry for the misspelling json. yes we can encode the data, decode when 
using,  inspecting the value by some json function, in this way, the json file 
may not be easy to read and understand at first glance, and another 
encoding-decoding step is introduced in order to be able to read the json by 
hive. In fact the 
[org.openx.data.jsonserde.JsonSerDe|https://github.com/rcongiu/Hive-JSON-Serde/blob/develop/json-serde/src/main/java/org/openx/data/jsonserde/JsonSerDe.java]
 can retrieve the "data" field directly,  but we hope to migrate it to hive 
embedded json serde utils.

Thanks, Zhihua Deng

> JsonSerDe: Unable to read the string value from a nested json
> -------------------------------------------------------------
>
>                 Key: HIVE-25188
>                 URL: https://issues.apache.org/jira/browse/HIVE-25188
>             Project: Hive
>          Issue Type: Bug
>          Components: Serializers/Deserializers
>    Affects Versions: 4.0.0
>            Reporter: Zhihua Deng
>            Assignee: Zhihua Deng
>            Priority: Major
>              Labels: pull-request-available
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> Steps to reproduce:
> create table json_table(data string, messageid string, publish_time bigint, 
> attributes string);
>  
> if the data of the table stored like:
> {code:java}
> {"data":{"H":{"event":"track_active","platform":"Android"},"B":{"device_type":"Phone","uuid":"[36ffec24-f6a4-4f5d-aa39-72e5513d2cae,11883bee-a7aa-4010-8a66-6c3c63a73f16]"}},"messageId":"2475185636801962","publish_time":1622514629783,"attributes":{"region":"IN"}}"}}{code}
> Exception will be thrown when trying to deserialize the data:
>  
> Caused by: java.lang.IllegalArgumentException
>  at com.google.common.base.Preconditions.checkArgument(Preconditions.java:108)
>  at 
> org.apache.hadoop.hive.serde2.json.HiveJsonReader.visitLeafNode(HiveJsonReader.java:374)
>  at 
> org.apache.hadoop.hive.serde2.json.HiveJsonReader.visitNode(HiveJsonReader.java:216)
>  at 
> org.apache.hadoop.hive.serde2.json.HiveJsonReader.visitStructNode(HiveJsonReader.java:327)
>  at 
> org.apache.hadoop.hive.serde2.json.HiveJsonReader.visitNode(HiveJsonReader.java:221)
>  at 
> org.apache.hadoop.hive.serde2.json.HiveJsonReader.parseStruct(HiveJsonReader.java:198)
>  at org.apache.hadoop.hive.serde2.JsonSerDe.deserialize(JsonSerDe.java:181)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to