У меня есть файл комплексных JSON данных
{"Body":"{\"metrics\":[{\"key\":\"ccu\",\"properties\":{\"ccu\":350,\"datetime\":\"2020-03-06 11:10:25\",\"domain\":\"kalic.kyotogameservers.com\",\"game\":\"kalic\",\"instance_id\":\"i-087676860cab4c92b\",\"module_name\":\"notification\",\"stack\":\"prod\",\"user\":\"undefined\"}}],\"validation\":{\"key\":\"jsadiu\",\"method\":\"shared_key\"}}","ContentType":"application/json","ProductId":"12345","Version":1}
{"Body":"{\"metrics\":[{\"key\":\"ccu6\",\"properties\":{\"ccu\":350,\"datetime\":\"2020-03-06 11:10:25\",\"domain\":\"kalic.kyotogameservers.com\",\"game\":\"kalic\",\"instance_id\":\"i-087676860cab4c92b\",\"module_name\":\"notification\",\"stack\":\"prod\",\"user\":\"undefined\"}}],\"validation\":{\"key\":\"aksdjiw\",\"method\":\"shared_key\"}}","ContentType":"application/json","ProductId":"12345","Version":1}
Я загружаю файл в HDFS, а затем создаю внешнюю таблицу:
create external table hive_test.external_json_test
(Body string,
ContentType string,
ProductId string,
Version int)
ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe'
stored as textfile
location '/user/userid/tmp';
Здесь показаны 2 строки все допустимые строки json и команда create выполняется без каких-либо исключений.
Однако, когда я запускаю select * from ...
, он ничего не возвращает ...
Почему это могло произойти и как построить внешнюю таблицу и проанализируйте json ...