Ошибка чтения вложенного файла JSON в HIVE в EMR
Я пытаюсь создать таблицу улья в EMR для чтения сложного вложенного json. Я использую доступную банку SerDe, предоставленную AWS, которую я скопировал на локальный /usr/lib/hive/lib/
место нахождения.
SerDe s3://elasticmapreduce/samples/hive-ads/libs/jsonserde.jar
Версия улья: Hive 2.3.2-amzn-2
Версия Hadoop: Hadoop 2.8.3-amzn-0
DDL:
add jar /usr/lib/hive/lib/jsonserde.jar;
CREATE external TABLE complex_json (
docid string,
`user` struct<
id:INT,
username:string,
name:string,
shippingaddress:struct<
address1:string,
address2:string,
city:string,
state:string
>,
orders:array<
struct<
itemid:INT,
orderdate:string
>
>
>
)
ROW FORMAT SERDE 'com.amazon.elasticmapreduce.JsonSerde'
LOCATION 's3://bucket/json/'
JSON:
{
"DocId": "AWS",
"User": {
"Id": 1234,
"Username": "bob1234",
"Name": "Bob",
"ShippingAddress": {
"Address1": "123 Main St.",
"Address2": null,
"City": "Seattle",
"State": "WA"
},
"Orders": [
{
"ItemId": 6789,
"OrderDate": "11/11/2017"
},
{
"ItemId": 4352,
"OrderDate": "12/12/2017"
}
]
}
}
Я получаю следующую ошибку -
Ведение журнала инициализировано с использованием конфигурации в файле: /etc/hive/conf.dist/hive-.log4j2.properties Async: false. Добавлено [/usr/lib/hive/lib/jsonserde.jar] в путь к классу. Добавлены ресурсы: [/usr/ Библиотека / ульи / Библиотека / jsonserde.jar]
СБОЙ: Ошибка выполнения, код возврата 1 из>org.apache.hadoop.hive.ql.exec.DDLTask. орг / Apache / Hadoop / ульи /serde2/SerDe
Обратите внимание: я также пробовал Openx-JsonSerDe, но получаю ту же ошибку. Любая помощь приветствуется. ТИА!