hive 行转列和列转行的方法
2016-03-09 11:44
603 查看
一、行转列的使用
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
a b 1
a b 2
a b 3
c d 4
c d 5
c d 6
1.建表
drop table tmp_jiangzl_test;
create table tmp_jiangzl_test
(
col1 string,
col2 string,
col3 string
)
row format delimited fields terminated by '\t'
stored as textfile;
load data local inpath '/home/jiangzl/shell/test.txt' into table tmp_jiangzl_test;
2.处理
select col1,col2,concat_ws(',',collect_set(col3))
from tmp_jiangzl_test
group by col1,col2;
二、列转行
hive如何将
a b 1,2,3
c d 4,5,6
变为:
a b 1
a b 2
a b 3
c d 4
c d 5
c d 6
1.建表
drop table tmp_jiangzl_test;
create table tmp_jiangzl_test
(
col1 string,
col2 string,
col3 string
)
row format delimited fields terminated by '\t'
stored as textfile;
处理:
select col1, col2, col5
from tmp_jiangzl_test a
lateral view explode(split(col3,','))
b AS col5
本文行转列的例子引自:http://my.oschina.net/repine/blog/295961
1、问题
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
2、数据
test.txta b 1
a b 2
a b 3
c d 4
c d 5
c d 6
3、答案
1.建表drop table tmp_jiangzl_test;
create table tmp_jiangzl_test
(
col1 string,
col2 string,
col3 string
)
row format delimited fields terminated by '\t'
stored as textfile;
load data local inpath '/home/jiangzl/shell/test.txt' into table tmp_jiangzl_test;
2.处理
select col1,col2,concat_ws(',',collect_set(col3))
from tmp_jiangzl_test
group by col1,col2;
二、列转行
1、问题
hive如何将a b 1,2,3
c d 4,5,6
变为:
a b 1
a b 2
a b 3
c d 4
c d 5
c d 6
2、答案
1.建表drop table tmp_jiangzl_test;
create table tmp_jiangzl_test
(
col1 string,
col2 string,
col3 string
)
row format delimited fields terminated by '\t'
stored as textfile;
处理:
select col1, col2, col5
from tmp_jiangzl_test a
lateral view explode(split(col3,','))
b AS col5
本文行转列的例子引自:http://my.oschina.net/repine/blog/295961
相关文章推荐
- mybatis--动态sql
- java四大特性
- POJ 2709
- JQuery随心笔记----JQuery对象和DOM对象的相互转换
- pat1041:考试座位号
- 提交git push 时failed to push some refs to
- WebViewJavascriptBridge详细使用
- Java并发编程:volatile关键字解析
- rpm命令
- Storyboard 跳转 和 传值
- JavaScript装逼指南
- 设计模式学习笔记——工厂方法模式
- 【python】编程语言入门经典100例--28
- java源文件中只能有一个public类
- java源文件中只能有一个public类
- ZOJ Monthly, February 2016 - E:Ellipse
- jffs2文件系统制作过程
- Linux安装ElasticSearch-2.2.0-分词器插件(IK)
- Object-C 中各数据类型转换 NSData转NSString,Byte,UIImage
- 【SSH进阶之路】Hibernate映射——多对一单向关联映射(四)