hive string 转数组:抽取数组中的key 然后列转行
-- | 1110 | [{"content":"全部内容。" }, { "content":"无其它特别约定。"}] |
select id,concat_ws('||',collect_set(content)) as contents from (
select id, get_json_object(cl,'$.content') as content from (
select id, split(regexp_replace( regexp_extract (property_value ,'(\\[)(.*?)(\\])',2) ,'},{','}|{'),'\\|') as property_value
from properties where pt='20180627000000' and property_key ='specail' limit 1 ) b
lateral view explode(property_value) tf as cl
) b group by id ;
结果 :
+-------------------+----------+
| id | contents |
+-------------------+----------+
| 1110 | 全部内容。||无其它特别约定。 |
+-------------------+----------+
具体步骤说明:
1。 抽取树组 中的json
2。 替换json分割符 为|
3。split()
4。lateral view explode(property_value) 列转行
5。行转列
是不是要疯了:好端端的一个树组 ,然后这么复杂才解析出来 ,并抽取出里面的字段 。
如果 property_value 以数组的形式存储 ,可以省掉前三步骤。
hive string 转数组:抽取数组中的key 然后列转行相关推荐
- js判断数组或对象中的key是否存在
JS中数组和对象是等同的,判断一个key是否存在于数组中(或对象是否包含某个属性),我们可能马上想到的是使用ary[key] == undefined来判断key是否存在这个数组或者是对象中,但是这样 ...
- Hive常用函数、列转行与行转列、开窗函数、UDF、UDTF
Hive函数.开窗函数.UDF.UDTF 1.系统内置函数 2.常用函数 2.1.关系运算 2.2.数值运算 2.3.条件函数 2.4.日期函数 2.5.字符串函数 2.6.Hive求WordCoun ...
- java arraylist与数组转换_java中String,数组,ArrayList三者之间的转换
免费资源网 - https://freexyz.cn/ ArrayList转为String和数组 造一个元素为Integer的ArrayList 为list_int 造一个元素为String 的 Ar ...
- JavaScript中的Date日期、String字符串、Array数组、Math提供对数据的数学计算
一.Date 日期对象 日期对象可以储存任意一个日期,并且可以精确到毫秒数(1/1000 秒). 定义一个时间对象 : var Udate=new Date(); 注意:使用关键字new,Date() ...
- java字符串数组转json_java中字符串String格式转化成json格式
java字符串数组转json_java中字符串String格式转化成json格式 String s= Connection.deleteHost("10310");System.o ...
- string类转数组 java_将java中的 string 类型转成 数组案例
这个要看你的具体需求了.如果是有分隔符的那种例如"a,b,c";就直接分割就行了. String string = "a,b,c"; String [] str ...
- java char数组转string数组_Java中char数组(字符数组)与字符串String类型的转换方法...
本文实例讲述了Java中char数组(字符数组)与字符串String类型的转换方法.分享给大家供大家参考,具体如下: 在Java语言编程时,使用"口令字段"jPasswordFie ...
- C++中std::string与C-String字符数组的互相转换
C语言中只有字符数组这一说法,没有C++专门封装的字符串类std::string.而字符数组C-String以\0作为结束符.std::string其实还是存储了C-String这个指针,只不过不同的 ...
- String,char,数组,列表 相互转化 (更新中)
字符串转字符数组 "abcdefg".toCharArray() 数组转List Arrays.asList(数组); List转数组 ArrayList<String> ...
最新文章
- graphpad做折线图后怎么保存_农村的干豆角怎么做的?农村妹子教你两个窍门,保存2年都不会坏...
- 微软发布新的Azure Pipelines功能和集成
- 视口和窗口的理解方法
- 【Avalon】Avalon笔记(解析Dom模板树,按自己的规范)
- 执行execute时对象名 retime_record 无效_MyBatis 的执行流程怎么可以讲的这么透彻
- 【英语学习】【WOTD】sentient 释义/词源/示例
- yum mysql my.ini_Centos7 yum安装mysql
- 读懂 SOLID 的「里氏替换」原则
- 关于IAP:测试时能获取产品价格,却不能获取产品名称的问题
- wxpython 调用子窗口_wxpython简介
- <算法导论>练习4.3
- 小米路由器3开启千兆_使用评测 篇三:家庭网络进入千兆时代—小米路由器4开箱及评测...
- 企业如何自建MDM 移动设备管理平台
- 星际争霸2的移动机制-初探
- Android Espresso(四)——RecyclerView
- Nat Commun:中国中医科学院黄璐琦院士/首都医科大学高伟教授团队联合解析雷公藤甲素生物合成关键C-14位羟化机制...
- 微信小程序开发实战(13):图像组件(image)
- C语言中,头文件和源文件的关系(转)
- CAD中插入外部参照字体会变繁体_为什么CAD插入相同图框但尺寸却相差很多?
- Infortrend与英方合作推出存储灾备一体化解决方案