赞
踩
表1:cityInfo
cityname regionname
上海 四川北路
上海 虹梅路
上海 音乐学院
上海 徐家汇
上海 陆家嘴
上海 古北
北京 东四
北京 复兴门
北京 新街口
北京 地安门
表2:cityInfoSet
cityname address_set
上海 四川北路,虹梅路,音乐学院,徐家汇,陆家嘴,古北
北京 地安门,复兴门,东四,新街口
表1=>表2 可以使用 hive 的内置函数 concat_ws() 和 collect_set()进行转换:
select cityname,concat_ws(','collect_set(regionname)) as address_set from cityInfo group by cityname;
表2=>表1 可以使用 hive 的内置函数 explode()进行转化。代码如下:
select cityname, region from cityInfoSet lateral view explode(split(address_set, ',')) aa as region;
例,表中的数据如
Login_id LOGIN_IP
wangwangA 192.168.0.1,192.168.0.2
则trans_array(1, “,”, login_id, login_ip) as (login_id,login_ip)
产生的数据是
Login_id Login_ip
wangwangA 192.168.0.1
wangwangA 192.168.0.2
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。