标签:
hive如何将
1表示用户, A表示用户的特性, 0/1/0表示特征值
1 A1 0
1 A2 1
1 A3 0
变为:
1 A1,0 A2,1 A3,0
用 \t分割
[jiangzl@master tmp]$ cat jiangzl.txt
1 A1 0
1 A2 1
1 A3 0
1.建表
drop table iangzl_test;
create table jiangzl_test(
col1 int ,
col2 string ,
col3 int
)
row format delimited
fields terminated by ‘\t‘
stored as textfile;
load data local inpath ‘/home/jiangzl/work/tmp/jiangzl.txt‘ into table default.jiangzl_test;
select col1, data[0], data[1], data[2]
from (
select col1, collect_set(concat_ws(‘,‘, col2, cast(col3 as string))) data
from jiangzl_test
group by col1
)t;
本文author:数据的开拓者成员之一 江中炼
QQ群:248087140
座右铭:
你在你擅长的领域牛逼,
并带着一群小白变牛逼,
别人会发自内心的去尊重你的。
--可点击加入我们
标签:
原文地址:http://my.oschina.net/repine/blog/521157