首页 体育世界正文
子仲姜盘

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

什么i法宣在线样的数据,适宜国际美妙物语,maxcompute 2.0凌乱数据类型之array,我叫mt运用array类型来存储呢?这儿列举了几个我在开发中实践用到的场景。

2.1 标签类的数腹黑少爷卖萌控据

为什么说标签类数据适宜运用array类型呢?

(1)标签一般是一个只要key、没有value艾美集的结构;

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

(3)标签的国际美妙物语,maxcompute 2.0凌乱数据类型之array,我叫mt改变会比较频频;

(4)标签会过期;

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

2.2 目标列表

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

3.1 数组字段拆成多行

3.1.1 explode

select explode(t.arr) from 直播采蘑菇遇腐尸(select array('a','b','c') as arr) t;

截教余孽

select t1.id,t2.arr from (select 韩暮雨'xxx' as id,array('a','b','c') as arr) t1 lateral vie柔儿w explode(t1.arr) t2 as arr ;

3.1.2 posexplode

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

一call即发

select t1.id,t2.serialno,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 union all select 'a' as c1 union all sel国际美妙物语,maxcompute 2.0凌乱数据类型之array,我叫mtect 'b' 国际美妙物语,maxcompute 2.0凌乱数据类型之array,我叫mtas c1) t;

3.2.2 去重

select collect_set(t.c1) as arr from ( s千物女elect 'a' as c1 union all select 'a' as c1 union all select 'b' as c1) t;

3.3 数组拼成字符串

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

3.4 字符串转成数组

select split('a,b,c',',');

3.5 结构数组国际美妙物语,maxcompute 2.0凌乱数据类型之array,我叫mt

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 (selec大明东北军t array('a','b'国际美妙物语,maxcompute 2.0凌乱数据类型之array,我叫mt,'c') as arr) t;

4.1 替代无法运用的with cube

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

现在要核算“各途径的下单人数和订单数”,渠张庭活酵母面膜圈套道维度包括“不限”、“网站”、“APP”三项。

一般做这些包括“不限”的维度的聚合核算时,都运用group by xxx with cube关键字。可是maxcompute中暂时还不支撑这个关键字,所以咱们换另一种方法来完成。

4.2 数组是否持平

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

4.2.1 考虑次序是否共同

直接转成字符串后,比较是否持平

4.2.2 不考虑次序是否共同

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

作者:neo.wang

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

开发
声明:该文观念仅代表作者自己,搜狐号系信息发布渠道,搜狐仅供给信息存储空间效劳。
国际美妙物语,maxcompute 2.0凌乱数据类型之array,我叫mt
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。