HIve之行轉列,列轉行操作

2021-09-19 03:33:47 字數 596 閱讀 6044

行轉列

將類似如下資料轉為,特徵值,標記資料

表名為test

3列c1,c2,c3資料如下

a,b,1

a,b,2

a,b,3

c,d,4

c,d,5

d,f 6

多行轉換為一列

select c1,c2,concat_ws(』,』,collect_set(c3)) from test group by c1,c2

結果如下

a b 1,2,3

c d 4,5

d f 6

列轉行將類似如下資料轉為,特徵值,標記資料

表名為test

3列c1,c2,c3資料如下

a b 1,2,3

c d 4,5

d f 6

多列轉換為一行

select col1, col2, col5 from test a lateral view explode(split(col3,』,』)) b as col5

結果a,b,1

a,b,2

a,b,3

c,d,4

c,d,5

d,f 6

Hive經典SQL之行轉列,列轉行

前言 目前做離線資料計算,由於之前沒有完整的數倉功能,前兩天把cdh的配置和自己的 又除錯了一遍,目前資料已經進入到hive原始資料ods層。使用到了這個經典函式,在這裡記錄一下。版本 hive 1.1.0 建立表挺簡單的,這裡就不演示了。stu name course score 張三語文 98張...

hive的sql之行轉列和列轉行

collect set 要聚合的一列欄位名 去重 collect list 要聚合的一列欄位名 這兩個都是聚合函式 將一列資料聚集成乙個陣列集合 select collect set 要聚合的一列欄位名 from 加表名 concat ws 拼接符,可變個數的字串或陣列 可以拼接字串也可以拼接陣列中...

hive 列轉行 HQL 行轉列,列轉行

1 相關函式 concat string a col,string b col 返回輸入字串連線後的結果,支援任意個輸入字串 concat ws separator,str1,str2,它是乙個特殊形式的 concat 第乙個引數剩餘引數間的分隔符。分隔符可以是與剩餘引數一樣的字串。如果分隔符是 n...