91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

舞钢市| 曲周县| 建宁县| 广昌县| 华坪县| 天气| 无极县| 寿光市| 元谋县| 乌苏市| 丹凤县| 合山市| 成武县| 鄂尔多斯市| 武定县| 渝中区| 南召县| 新巴尔虎左旗| 名山县| 都昌县| 娱乐| 梓潼县| 杨浦区| 南宁市| 伽师县| 盘锦市| 上蔡县| 龙南县| 鸡西市| 武乡县| 延庆县| 额尔古纳市| 苍南县| 三门县| 呼图壁县| 兴和县| 屯留县| 吕梁市| 灵石县| 衡山县| 逊克县|