Hive处理json格式数据

1、数据示例
假设info表中存有两个字段,分别是id,content
content={"resultCode":"0000","message":"处理成功","properties":[{"birthday":"1996-2-22","issued_by":"公安局","valid_date":"2017.03.19-2027.03.19","address":"XXXX","gender":"男","race":"汉","name":"Jack","id_card_number":"123456789012345678"}]}
2、使用hive内置函数
get_json_object 、 json_tuple、  regexp_replace
3、说明
使用get_json_object 解析content,获取properties,使用regexp_replace替换掉中括号(原因是json_tuple不识别array类型),最后用json_tuple获取properties中所需的字段
例如:获取id,name和id_card_number
select id,t2.* from (select id, regexp_replace(get_json_object(content,"$.properties"),'\\[|\\]','') properties from info) t1 lateral view json_tuple(tt.properties,"name","id_card_number") t2 as name,id_card_number;
结果:
id        t2.name     t3.id_card_number
1          Jack            123456789012345678
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值