hive函数应用之操作json
程序员文章站
2022-06-24 21:18:13
1、创建表 createtable.sql中存放的创建表语句如下 执行如下命令 2、导入数据 数据数据文件如下 data.txt 将数据上产到hdfs 加载外部表 在hive命令行执行如下语句 3、查询数据 get_json_object()函数进行查询 json_tuple()函数进行查询 查询结 ......
1、创建表
createtable.sql中存放的创建表语句如下
create external table adt.jsontest ( appkey string comment "appkey", clickjson string comment "测试json" ) partitioned by(dt string comment "按照天进行分区") row format delimited fields terminated by '|' lines terminated by '\n';
执行如下命令
hive -f createtable.sql
2、导入数据
数据数据文件如下
data.txt
apds|{"name":"zhangsan","age":23} apds|{"name":"lisi","age":24} apds|{"name":"wangwu","age":25} apds|{"name":"zhaoliu","age":26}
将数据上产到hdfs
hdfs dfs -copyfromlocal data.txt /data/test/2018-09-10/
加载外部表
在hive命令行执行如下语句
alter table adt.jsontest add partition (dt="2018-09-10") location "/data/test/2018-09-10/";
3、查询数据
get_json_object()函数进行查询
select get_json_object(t.clickjson,'$.name'),get_json_object(t.clickjson,'$.age') from adt.jsontest t
json_tuple()函数进行查询
select t2.* from adt.jsontest t1 lateral view json_tuple(t1.clickjson, 'name', 'age') t2 as b1, b2;
查询结果如下:
上一篇: 利用node.js如何创建子进程详解
下一篇: 没有房子,就没有媳妇。