Hive列合併與元素蒐集
舉例,某個表形式如下
+--+--------+------+-----+----+
|id|name |course|score|year|
+--+--------+------+-----+----+
|1 |zhangsan|數學 |80 |2015|
|2 |lisi |語文 |90 |2016|
|3 |lisi |數學 |70 |2016|
|4 |wangwu |化學 |80 |2017|
|5 |zhangsan|語文 |85 |2015|
|6 |zhangsan|化學 |90 |2015|
+--+--------+------+-----+----+
concat相當於兩列資料合併
select concat(id,":",name),course,score,year from course_score;
+----------+------+-----+----+
|c0 |course|score|year|
+----------+------+-----+----+
|1:zhangsan|數學 |80 |2015|
|2:lisi |語文 |90 |2016|
|3:lisi |數學 |70 |2016|
|4:wangwu |化學 |80 |2017|
|5:zhangsan|語文 |85 |2015|
|6:zhangsan|化學 |90 |2015|
+----------+------+-----+----+
concat_ws
也是合併多列的,不過分隔符只需要寫一次.
只能連線字串,所以要轉型一下,利用cast函式
select concat_ws(":",cast(id as string),course,cast(score as string)) ,year from course_score;
+-------+----+
|c0 |year|
+-------+----+
|1:數學:80|2015|
|2:語文:90|2016|
|3:數學:70|2016|
|4:化學:80|2017|
|5:語文:85|2015|
|6:化學:90|2015|
+-------+----+
collect_set
收集某一列的,和上面兩個功能完全不同. 另外,也可以去重
select collect_set(name) from course_score;
+----------------------------+
|c0 |
+----------------------------+
|["zhangsan","lisi","wangwu"]|
+----------------------------+
相關文章
- 命令列中的拆分與合併命令列
- NumPy 陣列迭代與合併詳解陣列
- 合併陣列陣列
- GridView列相同合併View
- Hive表小檔案合併方法總結Hive
- JS--陣列物件合併JS陣列物件
- 藍橋杯-合併數列
- pandas 兩列資料合併
- 合併兩個有序陣列陣列
- 合併與變基
- 128 PHP合併陣列+與array_merge的區別分析PHP陣列
- 88、合併兩個有序陣列陣列
- js合併兩個陣列物件JS陣列物件
- Python語言合併列表元素常用的方法!Python
- Git -- 分支與合併 (命令列+視覺化工具p4merge)Git命令列視覺化
- 生成表格與合併表格
- OceanBase子表分裂與合併
- 【MySQL】MySQL如何合併多行資料,行轉列,group_concat 多行合併MySql
- 23. 合併K個元素的有序連結串列
- el-table 自動合併所有列
- 88. 合併兩個有序陣列陣列
- Java併發佇列與容器Java佇列
- js陣列物件相同項合併處理JS陣列物件
- el-table 合併相同資料的列
- 【LeetCode】88. 合併兩個有序陣列LeetCode陣列
- MySQL 合併查詢join 查詢出的不同列合併到一個表中MySql
- poi報表匯出 複雜匯出 指定合併列和對比重複列合併行動態匯出
- 將兩個有序陣列合併為一個有序陣列陣列
- 兩個有序陣列如何合併成一個有序陣列陣列
- Hbase-原理-region合併和hfile的合併(大合併、小合併)
- 合併陣列物件中相同的屬性值陣列物件
- 18.合併兩個有序陣列(簡單)陣列
- 【堆】【優先佇列】[NOIP2004]合併果子佇列
- js實現table合併相同列單元格JS
- Git 分支 - 分支的新建與合併Git
- 資料檔案合併與拆分
- Win10工作列標籤自動合併該怎麼取消 win10取消工作列合併標籤的方法Win10
- [Hive]用concat_w實現將多行記錄合併成一行Hive