无法使用json serde在配置单元上上载json文件

pes8fvy9  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(441)

我正在尝试使用json serde加载json文件。我已经成功地添加了serde jar文件。
1) 我放置在路径/apps/hive/warehouse/lib/上的json jar文件已成功运行此命令

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) 现在,当我尝试使用ambari gui在/apps/hive/warehouse/lib/或tmp/路径上传json文件时。我无法上传它给错误500。见附图

3) 我也尝试过这个命令,但因为我无法上传json文件。所以,它不起作用
hadoop fs-put tmp/test.json/apps/hive/warehouse/lib/test.json
请帮我解决这个问题

hk8txs48

hk8txs481#

要将文件加载到配置单元中,首先将文件复制到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;

相关问题