hive 实现一个字段多行转一行 和 一行转多行
1.多行转一行
多行转一行可以通过concat_ws(',',collect_set(col_name)) as col_new的方式实现,可以参考:https://www.cnblogs.com/shujuxiong/p/9564556.html
select
id
, concat_ws(',',collect_set(col_name)) as col_new
from table_name
group by id
;
2.一行转多行
一行转多行通过把原字段中的多个值拆分并转成多条记录的方式实现,lateral view explode(split(col_name,',')) num as split_col_name
可以参考:https://blog.csdn.net/IBoyMan/article/details/80564166
select
id
, col_name
, split_col_name
from table_name
lateral view explode(split(col_name,',')) num as split_col_name-- group by 是为了去重,可以不要
group by id, col_name, split_col_name
;
hive 实现一个字段多行转一行 和 一行转多行的更多相关文章
- 通过sql的stuff 把一列几行的记录拼接在一行一个字段
---通过sql的stuff 把一列几行的记录拼接在一行一个字段 select FID,a.FCustomerID as 工地ID , 应验收节点 = (stuff((select ',' + isn ...
- 【HIVE高级笔试必备题型】(组内topN、相邻行的值比较问题)求语文大于数学_/_求文科大于理科成绩的学生
Hive SQL练习之成绩分析 数据:[id, 学号,班级,科目,成绩] 1,1,1,yuwen,80 2,1,1,shuxue,85 3,2,1,yuwen,75 4,2,1,shuxue,70 5 ...
- c# winform DataGridView单击选中一整行,只能单选,不能选择多行,只能选择一行
设置DataGridView的属性SelectionMode为FullRowSelect 这样就使DataGridView不是选择一个字段,而是选择一整行了 设置DataGridView的属性Mult ...
- 关于SQL Server将一列的多行内容拼接成一行的问题讨论
http://blog.csdn.net/rolamao/article/details/7745972 昨天遇到一个SQL Server的问题:需要写一个储存过程来处理几个表中的数据,最后问题出在我 ...
- Oracle一列的多行数据拼成一行显示字符
Oracle一列的多行数据拼成一行显示字符 oracle 提供了两个函数WMSYS.WM_CONCAT 和 ListAgg函数. www.2cto.com 先介绍:WMSYS.WM_CO ...
- SQL 将一列多行数据合并为一行 FOR XML PATH
FOR XML PATH 方法是用于将查询结果集以XML形式展示,这样展示方式的好处不言而喻.现在我要介绍的FOR XML PATH的"另类"用法. 首先,我们先来看看它的正常用法 ...
- SQL Server将一列的多行内容拼接成一行的问题讨论
转自http://blog.csdn.net/rolamao/article/details/7745972 昨天遇到一个SQL Server的问题:需要写一个储存过程来处理几个表中的数据,最后问题出 ...
- SQL SERVER将多行数据合并成一行(转载)
昨天遇到一个SQL Server的问题:需要写一个储存过程来处理几个表中的数据,最后问题出在我想将一个表的一个列的多行内容拼接成一行 比如表中有两列数据 : ep_classes ep_name A ...
- Hive thrift服务(将Hive作为一个服务器,其他机器可以作为客户端进行访问)
步骤一:启动为前台:bin/hiveserver2 步骤二:启动为后台:nohup bin/hiveserver2 1>/var/log/hiveserver.log 2>/var/log ...
随机推荐
- SpringBoot静态资源访问
在我们开发Web应用的时候,需要引用大量的js.css.图片等静态资源. 默认配置: Spring Boot默认提供静态资源目录位置需置于classpath下,目录名需符合如下规则: /static ...
- WebSocket 学习教程(一):理论
一.WebSocket简单介绍 随着互联网的发展,传统的HTTP协议已经很难满足Web应用日益复杂的需求了.近年来,随着HTML5的诞生,WebSocket协议被提出,它实现了浏览器与服务器的全双工通 ...
- 要继续看Python写算法的内容请到那里去
由于在这里发文章的时候.莫名其妙的出现公布出去的问题.客服告知是由于链接或者敏感词. 能不能告诉我哪里出了问题?我能够改动,以便再发. 可是,没有人告诉我.仅仅是告诉我不能发. 另外,能不能公布一下敏 ...
- MySQL语法和用户授权
管理数据库 create database 等同于 create schema #导入数据库脚本 MariaDB [db1]> source /root/mysql/hellodb_in ...
- .NET 三层框架
1.三层架构 三层架构(3-tier architecture) 通常意义上的三层架构就是将整个业务应用划分为:表现层(Presentation layer).业务逻辑层(Business Logic ...
- python的_thread模块来实现多线程(<python核心编程例子>)
python中_thread模块是一个低级别的多线程模块,它的问题在于主线程运行完毕后,会立马把子线程给结束掉,不加处理地使用_thread模块是不合适的.这里把书中讲述的有关_thread使用的例子 ...
- 查看Nginx、PHP、Apache和MySQL的编译参数
1.查看Nginx编译参数 [root@portal finance]# your_nginx_dir/sbin/nginx -V nginx version: nginx/ built by (Re ...
- 【RPC】综述
RPC定义 RPC(Remote Procedure Call)全称远程过程调用,它指的是通过网络,我们可以实现客户端调用远程服务端的函数并得到返回结果.这个过程就像在本地电脑上运行该函数一样,只不过 ...
- 启动Jenkins
启动Jenkins? 进入到Jenkins的war包所在的目录 ->CMD 到 Jenkins的war包所在的目录 输入: Java -jar jenkins.war 启动Jenkins服务n ...
- unity3d-解密加密数据
利用RijndaelManaged加密解码.需要导入命名空间 using System.Security.Cryptography; 一个很简单的例子,最终的结果 解密和加密类 public clas ...