码迷,mamicode.com
首页 > 其他好文 > 详细

基于用户画像 《列变行》 特征打标显示

时间:2015-10-23 13:42:45      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:

一、问题

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;


2.处理

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!