Hive中explode的用法
hive的explode 函数通常是与侧视图(lateral view)一起使用,
主要用于规范化行 或者解析json
一个数据表的表数据如下所示。
1、我们如何把student这一列中的数据由一行变成多行。这里需要使用split和explode,并结合lateral view实现。
代码如下:select class,studentName from class lateral view explode(split(studnet,',')) t as studentName;
2、每个同学来一个编号,假设编号就按姓名的顺序,此时我们要用到另一个hive函数,叫做posexplode
代码如下:
select class,stuIndex+1 as stuIndex,studentName from class lateral view posexplode(split(studnet,',')) t as stuIndex,studentName;
3、如果我们分别对两列进行explode的话,假设每列都有三个值,那么最终会变成3 * 3 = 9行。但我们想要的结果只有三行。此时我们可以进行两次posexplode,姓名和成绩都保留对应的序号,即使变成了9行,我们通过where条件只保留序号相同的行即可
代码如下:select class,stuName,stuScore from class lateral view posexplode(split(studnet,',')) t as stuIndex1,stuName lateral view posexplode(split(score,',')) s as stuIndex2,stuScore where stuIndex1=stuIndex2;
Hive中explode的用法相关推荐
- hive中explode函数的用法
hive中explode函数的用法 explode函数是一个炸裂函数他可以做一下转换 将这个表格 +--------------+-----------------------------+ | mo ...
- php explode用法,php中explode函数用法分析
本文实例分析了php中explode函数用法.分享给大家供大家参考.具体如下: explode(string separator,string string [,int limit]) separat ...
- python列转行函数_Python pandas 列转行操作详解(类似hive中explode方法)
最近在工作上用到Python的pandas库来处理excel文件,遇到列转行的问题.找了一番资料后成功了,记录一下. 1. 如果需要爆炸的只有一列: df=pd.DataFrame({'A':[1,2 ...
- 转:hive中regexp_extract的用法总结
hive中regexp_extract的用法总结 如: 1) select regexp_extract('hitdecisiondlist','(i)(.*?)(e)',0) ; 得到的结果为: ...
- Hive中row_number()函数用法详解及示例
目录 一.Hive 中row_number()函数介绍 二.使用示例 三.总结 四.附录 在Oracle中,我们经常会用到row_number() over(partition by clo1 ord ...
- pandas dataframe 中 explode()函数用法及效果
最近在使用pyspark处理数据,需要连接各种各样的表和字段,因此记录相关函数的使用情况.今天介绍explode(). 1. explode()函数简介 explode 函数是 pan ...
- php中explode的用法,explode在PHP中的用法
主要是注意explode的第三个参数 (PHP 3, PHP 4, PHP 5) explode--使用一个字符串分割另一个字符串描述 array explode ( string separator ...
- hive中 不等号 的用法
背景: A表中uuid 字段存在三种情况.第一种为空的情况(即为null),第二种为字符串'null',第三种正常情况. 要求:给出规则,过滤出是为字符串'null'的异常数据量? 解决思路: 第一种 ...
- hive中的with用法
hive 可以通过with查询来提高查询性能,因为先通过with语法将数据查询到内存,然后后面其它查询可以直接使用 with q1 as ( select key from src where key ...
最新文章
- k64 datasheet学习笔记35---Analog-to-Digital Converter (ADC)
- Mysql的空值与NULL的区别
- 清华博士后用10分钟讲解AlphaCode背后的技术原理,原来程序员不是那么容易被取代的!...
- C++ STL swap_range
- blockchain 区块链200行代码:在JavaScript实现的一个简单的例子
- 对html5的了解,HTML5——对HTML5的认识
- Vue——组件化开发DEMO
- 初始化mysql的数据库失败_初始化mysql的数据库失败怎么办
- intl扩展 mac 安装php_mac下php安装intl扩展代码分享
- iPhone开发 捕获提交异常日志
- JPA与EJB3的关系
- Deadline调度器之(二):细节和使用方法
- 简单记录fastDFS安装
- JS导出页面为PDF,分页导出
- inpur标签的各种type
- 栈的图文解析 和 对应3种语言的实现(C/C++/Java)
- Python Pillow(PIL)库的用法介绍
- Windows 用户自动登录开启与关闭方法
- c# ppt 转 html,C# 实现PPT 每一页转成图片
- Dlink PHP p308av,D-Link系列路由器漏洞挖掘