`
xly1981
  • 浏览: 142737 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

hive实现json数组拆解

阅读更多
PAYCHANNELDETAIL表中间字段acquire_type是json格式如下
[{"payAmount":"375000","payChannelCode":"BOC"},{"payAmount":"376000","payChannelCode":"ABC"}]

下面是数据拆解操作
 select pay_order_id,tag1,bill_date
from (
select pay_order_id,substr(acquire_type,2,length(acquire_type)-2) tags,bill_date from dd.PAYCHANNELDETAIL
) ta  lateral view explode(split(tags, '},')) r1 as tag1
;

查询结果如下:
1603150000007617360	{"payAmount":"375000","payChannelCode":"BOC"}	2016-03-15
1603150000007617360	{"payAmount":"376000","payChannelCode":"ABC"}	2016-03-15


json属性拆解
SELECT 
pay_order_id,
get_json_object(subjson,'$.payAmount') as payAmount,
get_json_object(subjson,'$.payChannelCode') as payChannelCode,
bill_date
FROM
dd.PAYCHANNELDETAIL_SUBJSON
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics