Как загрузить несколько файлов Json (которые могут иметь разные поля) в одну таблицу кустов - PullRequest
0 голосов
/ 03 марта 2019

У меня есть два файла JSON, которые создаются в два разных дня.Оба они подпадают под одну и ту же спецификацию бизнеса.Поэтому я хочу вставить в одну таблицу улья.Как это можно сделать?

Сценарий:

fist JSON: {"a": 2, "b": 3,}

Второй JSON: {"a": 1, "b", 2, "c", 3}

Оба вышеперечисленных должны быть вставлены в одну и ту же таблицу улья.А как читать поля и создавать из них новую таблицу, которая будет плоской?

1 Ответ

0 голосов
/ 03 марта 2019

Поместите ваши файлы в ту же самую таблицу (или используйте команду LOAD DATA ) и используйте JSONSerDe :

CREATE EXTERNAL TABLE mytable (
  a int,
  b int,
  c int
)
ROW FORMAT SERDE 'org.apache.hive.hcatalog.data.JsonSerDe'
LOCATION '<HDFS location>' --this is HDFS/S3 location
;

Если какой-либо объект JSON не содержит все ключи, определенные в таблице DDL, отсутствующие ключи будут проанализированы как NULL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...