You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Yibing Shi (JIRA)" <ji...@apache.org> on 2014/05/16 13:19:10 UTC

[jira] [Created] (HIVE-7075) JsonSerde raises NullPointerException when object key is not lower case

Yibing Shi created HIVE-7075:
--------------------------------

             Summary: JsonSerde raises NullPointerException when object key is not lower case
                 Key: HIVE-7075
                 URL: https://issues.apache.org/jira/browse/HIVE-7075
             Project: Hive
          Issue Type: Bug
          Components: Serializers/Deserializers
    Affects Versions: 0.12.0
            Reporter: Yibing Shi


We have noticed that the JsonSerde produces a NullPointerException if a JSON object has a key value that is not lower case. For example. Assume we have the file "one.json": 

{ "empId" : 123, "name" : "John" } 
{ "empId" : 456, "name" : "Jane" } 

hive> CREATE TABLE emps (empId INT, name STRING) 
ROW FORMAT SERDE "org.apache.hive.hcatalog.data.JsonSerDe"; 

hive> LOAD DATA LOCAL INPATH 'one.json' INTO TABLE emps; 

hive> SELECT * FROM emps; 

Failed with exception java.io.IOException:java.lang.NullPointerException 

-------- 

Notice, it seems to work if the keys are lower case. Assume we have the file 'two.json': 
{ "empid" : 123, "name" : "John" } 
{ "empid" : 456, "name" : "Jane" } 

hive> DROP TABLE emps; 

hive> CREATE TABLE emps (empId INT, name STRING) 
ROW FORMAT SERDE "org.apache.hive.hcatalog.data.JsonSerDe"; 

hive> LOAD DATA LOCAL INPATH 'two.json' INTO TABLE emps;

hive> SELECT * FROM emps; 
OK 
123	John 
456	Jane



--
This message was sent by Atlassian JIRA
(v6.2#6252)