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:11 UTC
[jira] [Commented] (HIVE-7075) JsonSerde raises
NullPointerException when object key is not lower case
[ https://issues.apache.org/jira/browse/HIVE-7075?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13999640#comment-13999640 ]
Yibing Shi commented on HIVE-7075:
----------------------------------
Suggest to fix this by:
- String fieldName = p.getText();
+ String fieldName = p.getText().toLowerCase();
> 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)