Hive 行列转换

在京东众多业务中,促销业务充满了复杂性和挑战性,因为业务的灵活性,很多数据都存储成xml和json格式数据,这就要求下游数据分析师们需要对其做解析后方可使用 。

在众多操作中 ,有一种是需要对数据做行列转换操作。

数据结构:

create external table jd_row_to_column(
jd_id string ,
jd_session string 
);

数据描述:

insert into jd_row_to_column values('0001','01,02,03,04');

1.行转列(对一列数据拆分成多行)

使用函数 lateral view explode(split(column_name, ',')) col_nm

我们对上面表结构的jd_session列按照逗号进行数据拆分

拆分SQL:

selectjd_id,jd_session,session
fromjd_row_to_column lateral view explode(split(jd_session, ',')) ses as session
wherejd_id = '0001';

The result:

 

2.列转行(根据主键,数据合并)

使用函数:concat_ws(',',collect_set(column))  其中 函数collect_set 会对原始数据做去重操作,collect_list 则不会

我们将对上面的结果进行数据合并操作,看看结果是不是满足要求

The SQL:

selectjd_id,jd_session,concat_ws(',', collect_set(session)) as jd_session_v2
from(selectjd_id,jd_session,sessionfromjd_row_to_column lateral view explode(split(jd_session, ',')) ses as sessionwherejd_id = '0001')t
group byjd_id,jd_session ;

The Result :

 

转载于:https://www.cnblogs.com/TendToBigData/p/10501170.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/451178.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java WebService 简单实例

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 前言:朋友们开始以下教程前,请先看第五大点的注意事项,以避免不必要的重复操作。 一、准备工作&…

关于JavaScript的数组随机排序

昨天了解了一下Fisher–Yates shuffle费雪耶兹随机置乱算法,现在再来看看下面这个曾经网上常见的一个写法: function shuffle(arr) { arr.sort(function () { return Math.random() - 0.5; }); } 或者使用更简洁的 ES6 的写法: function shu…

通用唯一识别码UUID

UUID是通用唯一识别码(Universally Unique Identifier)的缩写。UUID 的目的,是让分布式系统中的所有元素,都能有唯一的辨识资讯,而不需要透过中央控制端来做辨识资讯的指定。如此一来,每个人都可以建立不与…

java内省机制 + 内省是什么 + 内省实现方式 + 和反射的区别

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 一、内省是什么、实现方式: 内省(Introspector)是Java语言对Bean类属性、事件的一种缺省处理方法。…

百度联合长虹发布第二款云手机 售价900元以下

摘要:【搜狐IT消息】5月15日消息,百度今天宣布联合长虹发布第二款智能手机,采用3.5英寸屏幕、300万像素摄像头,650MHz主频处理器,零售价格在700-899元之间,中国联通将为其提供话费补贴。 【搜狐IT消息】5月…

博客园中的源代码格式显示

昨天写了一篇文章,但是在写的时候呢,没有注意,直接将代码复制上去了,今天正好有人提醒,看到了格式的混乱,借此记录整理一下,如何能直接粘贴代码,而且格式(缩进&#xff0…

Laravel5.5之事件监听、任务调度、队列

一、事件监听 流程: 1.1 创建event php artisan make:event UserLogin LoginController.php /*** The user has been authenticated.** param \Illuminate\Http\Request $request* param mixed $user* return mixed*/protected function authenticated(Request …

朱江洪功成身退 朱董配解体谁主格力(图)

摘要:中国家电营销委员会副理事长洪仕斌向时代周报记者表示:“朱江洪和董明珠已经完成了他们在格力发展前二十年的使命。“朱董配”解体之后,有人质疑格力“技术营销”的格局必将被打破,难以延续,“董氏班底”与朱江洪…

传腾讯人事大地震 马化腾将重整公司架构

摘要:5月17日消息,传腾讯董事长马化腾将重新组织公司架构,为腾讯大换血。据悉,腾讯之所以选择互动娱乐部门负责人接任这一重要岗位,也是因为互娱部门业绩持续快速发展,成为了“腾讯帝国”发展的核心驱动力之…

Thread.yield()

&#xff08;一&#xff09;java yield()方法注释&#xff1a; /*** A hint to the scheduler that the current thread is willing to yield* its current use of a processor. The scheduler is free to ignore this* hint.** <p> Yield is a heuristic attempt to im…

WSDL 详解

转载自&#xff1a;http://kalogen.javaeye.com/blog/418958 WSDL (Web Services Description Language,Web服务描述语言)是一种XML Application&#xff0c;他将Web服务描述定义为一组服务访问点&#xff0c;客户端可以通过这些服务访问点对包含面向文档信息或面向过程调用的服…

传苹果新iPhone显示屏4英寸 可视面积扩大30%

摘要&#xff1a;北京时间5月17日凌晨消息&#xff0c;据熟知内情的消息人士周三称&#xff0c;苹果计划为其下一代iPhone使用更大的显示屏&#xff0c;并已开始从韩国和日本供应商那里订购新的显示屏。业绩人士指出&#xff0c;苹果为下一代iPhone配备更大显示屏的决定意味着&…

通过IDE生成和手动call调用webservice

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 通过IDE自动生成的代码调用webservice服务 我们的IDE一般来说都是能够通过各种各样的工具来支持我们的开发使我们的开发变得更加的便捷。…

JAVA使用FTPClient类读写FTP

见&#xff1a;http://blog.csdn.net/kardelpeng/article/details/6588284 1.首先先导入相关jar包 2.创建一个连接FTP的工具类FTPUtil.Java [java] view plaincopy package com.metarnet.ftp.util; import java.io.IOException; import java.io.InputStream; import j…

Java IO类库之ObjectInputStream和ObjectOutPutStream

2019独角兽企业重金招聘Python工程师标准>>> 一、ObjectOutputStream 1 - ObjectOuputStream介绍 ObjectOutputStream(对象字节输出流)&#xff0c;用于将一个序列化对象写入到创建ObjectOutputStream时传入的底层字节输入流中&#xff0c;通过源码可知该类继承Outp…

什么是覆盖索引?如何利用覆盖索引进行SQL语句优化?

如果你不知道什么是覆盖索引&#xff0c;那么SQL性能优化便无从谈起&#xff01; 什么是覆盖索引?如何利用索引进行SQL语句优化&#xff1f; 表结构 150多万的数据&#xff0c;这么一个简单的语句&#xff1a; 慢查询日志里居然很多用了1秒的&#xff0c;Explain的结果是&am…

ARM的商业模式是如何炼成的?

导读&#xff1a;保守、严谨&#xff0c;又有一些皇族气质&#xff0c;作为一家拥有纯正英国血统的公司&#xff0c;ARM看似呆板的作风却让其在移动互联网大潮中势如破竹&#xff0c;没有对手。也许过于看重产业链伙伴的声音&#xff0c;导致ARM的决策有些迟缓&#xff0c;比如…

java 中 FtpClient 实现 FTP 文件上传、下载

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 源代码大部分是网上找的&#xff0c;查来查去&#xff0c;找到几个可以用的例子&#xff0c;改来改去&#xff0c;揉合成现在这个样子。…

Web Service 简单实例(java 版本) ,IDE自动生成客户端代码方法

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 一、客户端工程 jar 包 &#xff1a; 二、1. 服务端&#xff1a;( new 一个web service project ) package com;import javax.jws.…

最佳Linux服务器发行版

一款Linux发行版就如同一件衣服一样&#xff0c;适合自己的才是最好的选择。 对大型企业而言&#xff0c;当然首选Red Hat Enterprise Linux&#xff08;RHEL&#xff09;。Red Hat有完善的技术支持服务&#xff0c;而且在我们周围&#xff0c;非常容易找到持有Red Hat认证的技…