甘之如饴,maxcompute 2.0杂乱数据类型之array,sight

admin 2个月前 ( 03-28 14:21 ) 0条评论
摘要: maxcompute 2.0复杂数据类型之array...

类似于Java中的array。有序、可重复。

什么样的数据,适宜运用array类型来存储呢?这儿列举了几个我在开发中实践用到的场景。

2.1 标签类的数据

为什么说标签类数甘之如饴,maxcompute 2.0凌乱数据类型之array,sight据适宜运用array类型呢?谢光豪

(1)标签一般是一个只要key近藤敏夫、没有value的结构;

(2)标签的数量(枚举值个数)会十分多;

(3)标签的改变会比较频频;

(4)标签会过期;

因而,比起“创立多个字段”、“运用指定分隔符分隔的字符串”、“运用map”等方法,运用array是更适宜的。

2.2 目标列表

目标有多种固定的特点,简略的key-value格局无法满意,能够运用array嵌套struct的方法界说。减素氢泉少了保护数据字典的工作量。

3.1 数组字段拆成多行

3.1.1 explo萤火虫电光漆de

select explode(t.arr) from (select array('a','b','c') as arr) t;

甘之如饴,maxcompute 2.0凌乱数据类型之array,sight
大地园园通 陈馨贤

select t1.id,t2.arr from (select 'xxx' as i甘之如饴,maxcompute 2.0凌乱数据类型之array,sightd,array('a','b','c') as arr塔勒农场) t1 lateral view explodeboytUbe(t1.arr) t2 as 内蒙古通辽市大清沟arr ;

3.1.2 posexplode

select posexplode(t.arr) from (select array('a','b','c') as arr) t;

select t1.id,t2.se何妍秀rialno,t2.arr from (select 'xxx' as id,array('a','b','c') as arr) t1 lateral view posexplode(t1.arr) t2 as serialno,arr 独叶岩珠;

3.2 多行兼并成数组

3.2.1 不去重

select collect_list(t.c1) as arr from ( 六阳不举select 'a' as c1 uni胡歆儿on all select 'a' as c1 union all select 'b' as c1) t;

3.2.2 去重

select collect_set(t.c1) as arr from ( select 'a' as c1 union all select 'a' as c1 union all select 'b' as c1) t;

3.3 数组拼成字符串

select concat_甘之如饴,maxcompute 2.0凌乱数据类型之array,sightws(',',t.甘之如饴,maxcompute 2.0凌乱数据类型之array,sighta甘之如饴,maxcompute 2.0凌乱数据类型之array,sightrr) from (select array('a','b','c') as arr) t;

3.4 字符串转成数组

select split('a,b,c',',')西南交通大学校歌;

3.5 结构数组

select array('aa','bb','cc');

3.6 数组元素排序

select sort_array(array('b','c','e','a','d'));

select sort_array(array(1,10,100,2,3));

3.7 数组中添加一项

select split(concat('d,',concat_ws(',',t.arr)),',') as arr from (select array('a','b','c') as arr) t;

4.1 替代无法运用的with cube

例如现在有张下单记载流水表,记载着每泽州县张军一条下单记载,包括字段“订单ID”、“下单人ID”、“下单途径(网站/app)”。

现在要核算“各途径的下单人数和订单数”,途径维度包括“不限”、“网站”、“APP”三项。

一般做这些包括“不限”的维度的聚合核算时,都运用group by xxx with cube要害萤火虫电光漆字。可是maxcompute中暂时还不支撑这个要害字,所以咱们换另一种方法来实甘之如饴,maxcompute 2.0凌乱数据类型之array,sight现。

4.2 数组是否持平

数组的持平或不等,无法经过“=”来判别,因而要测验一些其他的方法。最常用的方法,便是转成字符串再比较。

4.2.1 考虑次序是否共同

直接转成字符串后,比较是莉亚迪桑38分35截图否持平

4.2.2 不考虑次序是否共同

先排序,再转成字符串,然后比较是否持平

作者:neo.wang

​本文为云栖社区原创内容,未经答应不得转载。

捣蛋猪3选关版
开发
声明:该文观念仅代表作者自己,搜狐号系信息发布渠道,搜狐仅供给信息存储空间效劳。
纤诗婷内衣
文章版权及转载声明:

作者:admin本文地址:http://evolution-m.com/articles/570.html发布于 2个月前 ( 03-28 14:21 )
文章转载或复制请以超链接形式并注明出处移动革命,5G来了,新一代移动互联网时代来了