现有一json
文件,需要导入hive
,如何操作?
比如json
内容如下
{"uid":"1","uname":"gaoyuanyuan","age":"18"}
{"uid":"2","uname":"gaojianzheng","age":"42"}
首先建表
drop table json1;
create table if not exists json1(
uid int,
uname string,
age int
)
row format serde 'org.openx.data.jsonserde.JsonSerDe'
stored as textfile
;
关键是引入处理json
的包,这里不再是之前的类似下面这种
row format delimited
fields terminated by ','
- json serde 可以是自己写的jar包也可以是第三方的jar包
- 要把这种jar包添加到hive的class path中
- add jar ./data/json-serde-1.3-jar-with-dependencies.jar;
接下来就可以导入数据了
load data local inpath '/data/json1.json' into table json1;
查询测试
hive> select * from json1;
OK
1 gaoyuanyuan 18
2 gaojianzheng 42
总结
- hive导入json文件,关键是
row format serde 'org.openx.data.jsonserde.JsonSerDe'