Created 11-13-2017 12:41 PM
I am trying to query the following Json file:
{"a":"a1","b":"b1","d":"{"key1":"pair1","key2":"pair2"}"} I have created the following table to query it:
CREATE EXTERNAL TABLE database.testingjson(
a STRING,
b STRING,
c STRING,
d map<string,string>
)
ROW FORMAT SERDE 'org.apache.hive.hcatalog.data.JsonSerDe'
STORED AS TEXTFILE
LOCATION 'location';
Shows the following exception:
SQL Error: java.io.IOException: org.apache.hadoop.hive.serde2.SerDeException: java.io.IOException: Start of Object expected
java.io.IOException: org.apache.hadoop.hive.serde2.SerDeException: java.io.IOException: Start of Object expected
java.io.IOException: org.apache.hadoop.hive.serde2.SerDeException: java.io.IOException: Start of Object expected
org.apache.hadoop.hive.serde2.SerDeException: java.io.IOException: Start of Object expected
java.io.IOException: Start of Object expected
java.io.IOException: Start of Object expectedIf I delete the map from the table there is no problem and queries the data correctly. Is there anything that I'm missing? Or the hcatalog doesn't accept key value fields?
I'm using Hive 1.2
Created 11-13-2017 02:56 PM
The JSON you are using isn't valid, you need to remove the double quotes around the map column value.
So your JSON would be:
{"a":"a1","b":"b1","d":{"key1":"pair1","key2":"pair2"}}
Created 11-13-2017 02:56 PM
The JSON you are using isn't valid, you need to remove the double quotes around the map column value.
So your JSON would be:
{"a":"a1","b":"b1","d":{"key1":"pair1","key2":"pair2"}}
Created 11-13-2017 03:24 PM
Oh god, thank you.