Невозможно загрузить файл json в улей с помощью json serde - PullRequest
0 голосов
/ 11 апреля 2019

Я пытаюсь загрузить файл json с помощью json serde.Я успешно добавил файл serde jar.

1) Мой jar-файл json помещен в путь / apps / hive / warehouse / lib / Я успешно выполнил эту команду

add jar hdfs:///apps/hive/warehouse/lib/json-serde-1.3-jar-with-dependencies.jar; converting to local hdfs:///apps/hive/warehouse/lib/json-serde-1.3-jar-with-dependencies.jar Added [/tmp/6f1a54b9-65c4-4e32-8e87-25d60ef775c6_resources/json-serde-1.3-jar-with-dependencies.jar] to class path Added resources: [hdfs:///apps/hive/warehouse/lib/json-serde-1.3-jar-with-dependencies.jar] 

2) Теперь, когда я пытаюсь загрузить файл jsonпо этому пути / apps / hive / warehouse / lib / или tmp / с использованием ambari GUI.Я не могу загрузить, выдает ошибку 500. см. Прикрепленное изображение error while uploading json file 3) Я также пробовал эту команду, но из-за невозможности загрузить файл json.поэтому он не работает

hadoop fs -put tmp / test.json /apps/hive/warehouse/lib/test.json

Пожалуйста, помогите мне решить эту проблему

1 Ответ

0 голосов
/ 11 апреля 2019

Чтобы загрузить файл в куст, сначала скопируйте файл в папку HDFS.Как показано ниже:

hadoop fs -put /complete_path_to_my_json/json_to_upload.json /app/hive/a_temp_location

Затем, когда у вас есть таблица, созданная с помощью JSON SerDe, как показано ниже:

create table if not exists my_json_table (id int, name string, designation string) row format serde 'org.apache.hive.hcatalog.d.JsonSerDe';

Вы можете загрузить данные в таблицу с помощью следующего оператора:

load data inpath '/app/hive/a_temp_location/json_to_upload.json' into table my_json_table;
...