欢迎投稿

今日深度:

hive列转行,

hive列转行,


一、问题

hive如何将

a       b       1
a       b       2
a       b       3
c       d       4
c       d       5
c       d       6

变为:

a       b       1,2,3
c       d       4,5,6

二、数据

 test.txt

cat column_row.txt
a,b,1 
a,b,2 
a,b,3 
c,d,4 
c,d,5 
c,d,6

三、答案

1. 建表

create table tmp.column_row
(
  col1 string,
  col2 string,
  col3 string
)
row format delimited fields terminated by ','
stored as textfile;

2. 载入数据

load data local inpath '/tmp/column_row.txt' into table tmp.column_row;

3. 处理

select col1,col2,concat_ws(',',collect_set(col3)) 
from tmp.column_row
group by col1,col2;

结果是:

a       b       2 ,3 ,1 
c       d       6,4 ,5 

 

www.htsjk.Com true http://www.htsjk.com/hive/40897.html NewsArticle hive列转行, 一、问题 hive如何将 a b 1 a b 2 a b 3 c d 4 c d 5 c d 6 变为: a b 1 , 2 , 3 c d 4 , 5 , 6 二、数据  test.txt cat column_row.txta,b, 1 a,b, 2 a,b, 3 c,d, 4 c,d, 5 c,d, 6 三、答案 1. 建表 create table tm...
相关文章
    暂无相关文章
评论暂时关闭