Hive 行转列,Hive 列转行, UDF,UDTF

Hive 行转列

hive> create table testArray2(
    >     name string,
    >     weight array<string>
    > )row format delimited 
    > fields terminated by '\t'
    > COLLECTION ITEMS terminated by ',';
OK
Time taken: 0.172 seconds
hive> load data local inpath '/usr/local/soft/data/testArray2.txt' into table testArray2;
Loading data to table test6.testarray2
Table test6.testarray2 stats: [numFiles=1, totalSize=50]
OK
Time taken: 0.288 seconds
hive> select * from testArray2;
OK
志凯	["\"150\"","\"170\"","\"180\""]
上单	["\"150\"","\"180\"","\"190\""]
Time taken: 0.14 seconds, Fetched: 2 row(s)
hive> select explode(weight) from testArray2;
OK
"150"
"170"
"180"
"150"
"180"
"190"
Time taken: 0.062 seconds, Fetched: 6 row(s)
hive> select name
    > ,col1
    > from testArray2
    > lateral view explode(weight) v1 as col1;
OK
志凯	"150"
志凯	"170"
志凯	"180"
上单	"150"
上单	"180"
上单	"190"
Time taken: 0.043 seconds, Fetched: 6 row(s)
hive> select posexplode(weight) from testArray2;
OK
0	"150"
1	"170"
2	"180"
0	"150"
1	"180"
2	"190"
Time taken: 0.032 seconds, Fetched: 6 row(s)
hive> select name
    > ,col1
    > ,val
    > from testArray2
    > lateral view posexplode(weight) v1 as col1,val;
OK
志凯	0	"150"
志凯	1	"170"
志凯	2	"180"
上单	0	"150"
上单	1	"180"
上单	2	"190"
Time taken: 0.034 seconds, Fetched: 6 row(s)
hive> select key from (select explode(map('key1',1,'key2',2,'key3',3)) as (key,value)) t;
OK
key1
key2
key3
Time taken: 0.453 seconds, Fetched: 3 row(s)
hive> select n
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值