前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >hive 数组json解析

hive 数组json解析

作者头像
chimchim
发布2022-11-13 13:03:19
发布2022-11-13 13:03:19
1.4K0
举报

hive 数组json解析

数据:’[{a:1,b:1},{a:2,b:2},{f:6,k:7}]’

sql1: select case when ss.col regexp ‘^\{’ and not ss.col regexp ‘\}KaTeX parse error: Got function '\newline' with no arguments as superscript at position 1: \̲n̲e̲w̲l̲i̲n̲e̲’ then concat(’{’,ss.col) when not ss.col regexp ‘^\{’ and not ss.col regexp ‘\}KaTeX parse error: Got function '\newline' with no arguments as superscript at position 1: \̲n̲e̲w̲l̲i̲n̲e̲’ then ss.col end from ( select split(regexp_extract(a.appinfo,’^\[(.+)\]$’,1),’\}\,\{’) as str from ( select ‘[{a:1,b:1},{a:2,b:2},{f:6,k:7}]’ as appinfo ) a ) pp lateral view explode(pp.str) ss as col ;

结果如下: {a:1,b:1} {a:2,b:2} {f:6,k:7}

操作详解: 1.regexp_extract(a.appinfo,’^\[(.+)\]$’,1) 替换掉中括号 2.split函数拆分成数组,分隔符为’\}\,\{’,其实就是},{ 3.lateral view explode 行转列 4.使用},{为分隔符,补全前后缺失的{和}

get_json_object函数: select get_json_object(’{“bssid”:“6C:59:40:21:05:C4”,“ssid”:“MERCURY_05C4”}’,’$.bssid’) as bssid from dual; 运行结果: bssid 6C:59:40:21:05:C4

json_tuple函数: select json_tuple(’{“bssid”:“6C:59:40:21:05:C4”,“ssid”:“MERCURY_05C4”}’,‘bssid’,‘ssid’) from dual; 运行结果: c1 c2 6C:59:40:21:05:C4 MERCURY_05C4

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-03-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档