hive中处理json数据的函数

本文介绍了在Hive中处理JSON数据的两种方法。第一种是将JSON数据作为字符串,利用get_json_object和json_tuple函数进行解析。第二种是使用JsonSerDe,直接将JSON格式数据加载到表中,方便后续查询操作。这两种方法为Hive中的JSON数据处理提供了灵活性。
摘要由CSDN通过智能技术生成

Hive中处理json数据的两种方式
第一种:将json数据作为字符串进行处理
使用函数:
get_json_object:解析json数据,返回对应的数据
json_tuple:UDTF函数
使用案例:
–创建数据:vim /export/datas/hivedata.json
{“id”: 1701439105,“ids”: [2154137571,3889177061],“total_number”: 493}
{“id”: 1701439106,“ids”: [2154137571,3889177061],“total_number”: 494}
–创建表:
create table tb_json_test1 (
json string
);
–加载数据
load data local inpath ‘/export/datas/hivedata.json’ into table tb_json_test1;
–处理读取
select
get_json_object(t.json,’ . i d ′ ) , g e t j s o n o b j e c t ( t . j s o n , ′ .id'), get_json_object(t.json,' .id),getjsonobject(t.json,.total_number’)
from
tb_json_test1 t ;

select
t2.*
from
tb_json_test1 t1
lateral view
json_tuple(t1.json, ‘id’, ‘total_number’) t2 as c1,c2;

第二种:通过专门的解析类直接加载一个json格式的数据到Hive中
	使用案例:

–创建文件:vim /export/datas/hivedata.json
{“id”: 1701439105,“ids”: [2154137571,3889177061],“total_number”: 493}
{“id”: 1701439106,“ids”: [2154137571,3889177061],“total_number”: 494}
–添加jar包
add jar /export/datas/json-serde-1.3.7-jar-with-dependencies.jar;
–创建表:
create table tb_json_test2 (
id string,
ids array,
total_number int)
ROW FORMAT SERDE ‘org.openx.data.jsonserde.JsonSerDe’
STORED AS TEXTFILE;
–加载数据
load data local inpath ‘/export/datas/hivedata.json’ into table tb_json_test2;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值