Hive
支持完全
json
格式的数据
现有
json
格式的数据
test.txt
,如下
{"name":"zhang","age":"20","sex":"man"}
{"name":"li","age":"21","sex":"man"}
{"name":"wu","age":"18","sex":"woman"}
将
test.txt
上传到
hdfs
中
Hdfs dfs
–
put test.txt /tmp/test
在
hive
中建内部表(或外部表)
,来读取该文件
Create [external] table test
(
name string,
age string,
sex string
) row format serde ‘org.apache.hive.hcatalog.data.JsonSerde’
Stored as textfile location ‘/tmp/test’;
查询数据如下
Select * from test;
注意:
当建表时如果出现以下错误:
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask.
Cannot validate serde
说明在
hive
的服务端没有
hive_hcatalog_core_[
版本号
].jar
这个包,
找到该包上传
到
hive
服务端的
lib
目录下,重启服务即可。
曾在
hive
中手动的添加该包:
add
jar .jar
发现不像建立函数那样可以永久保存,
只是在当前会话中使用
jar
包,重新登录不可用。
Hive
支持不完全
json
格式的数据
现有
json
格式的数据
test.txt
,如下
1|{"name":"zhang","age":"20","sex":"man"}
2|{"name":"li","age":"21","sex":"man"}