中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

hive怎樣實現行轉列

發布時間:2021-12-10 10:28:52 來源:億速云 閱讀:377 作者:小新 欄目:云計算

小編給大家分享一下hive怎樣實現行轉列,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

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。原始數據:

test.txt

a b 1,2,3

c d 4,5,6

3。解決方法

方案1:

drop table test_jzl_20140701_test;

create table test_jzl_20140701_test

(

col1 string,

col2 string,

col3 string

)

row format delimited fields terminated by ' '

stored as textfile;


load data local inpath '/home/jiangzl/shell/test.txt' into table test_jzl_20140701_test;

select * from test_jzl_20140701_test  

a       b       1,2,3

c       d       4,5,6

遍歷數組中的每一列

select col1,col2,name 

from test_jzl_20140701_test  

lateral view explode(split(col3,',')) col3 as name;


a       b       1

a       b       2

a       b       3

c       d       4

c       d       5

c       d       6 


方案2:

drop table test_jzl_20140701_test1;


create table test_jzl_20140701_test1

(

col1 string,

col2 string,

col3 array<int>

)

row format delimited 

fields terminated by ' '

collection items terminated by ','   //定義數組的分隔符

stored as textfile;



load data local inpath '/home/jiangzl/shell/test.txt' into table test_jzl_20140701_test1;



select * from test_jzl_20140701_test1; 


a       b       [1,2,3]

c       d       [4,5,6]


遍歷數組中的每一列

select col1,col2,name 

from test_jzl_20140701_test1  

lateral view explode(col3) col3 as name;


a       b       1

a       b       2

a       b       3

c       d       4

c       d       5

c       d       6


4。補充知識點:

select * from test_jzl_20140701_test; 


a       b       1,2,3

c       d       4,5,6


select t.list[0],t.list[1],t.list[2] from (

select (split(col3,',')) list from test_jzl_20140701_test)t;


OK

1       2       3

4       5       6


--查看數組長度

select size(split(col3,',')) list from test_jzl_20140701_test;


3

3


以上是“hive怎樣實現行轉列”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

康平县| 邯郸市| 农安县| 同德县| 垦利县| 阿坝县| 呼图壁县| 白城市| 重庆市| 台湾省| 大厂| 太白县| 潮安县| 南漳县| 锡林浩特市| 安阳县| 东至县| 双江| 全椒县| 资讯| 日土县| 丹阳市| 固始县| 吴桥县| 孙吴县| 八宿县| 武安市| 大田县| 博罗县| 长沙县| 阿拉善右旗| 五河县| 都匀市| 贡山| 察哈| 贡嘎县| 来宾市| 类乌齐县| 梁平县| 海南省| 潜山县|