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的用法相关推荐

  1. hive中explode函数的用法

    hive中explode函数的用法 explode函数是一个炸裂函数他可以做一下转换 将这个表格 +--------------+-----------------------------+ | mo ...

  2. php explode用法,php中explode函数用法分析

    本文实例分析了php中explode函数用法.分享给大家供大家参考.具体如下: explode(string separator,string string [,int limit]) separat ...

  3. python列转行函数_Python pandas 列转行操作详解(类似hive中explode方法)

    最近在工作上用到Python的pandas库来处理excel文件,遇到列转行的问题.找了一番资料后成功了,记录一下. 1. 如果需要爆炸的只有一列: df=pd.DataFrame({'A':[1,2 ...

  4. 转:hive中regexp_extract的用法总结

    hive中regexp_extract的用法总结 如: 1)  select regexp_extract('hitdecisiondlist','(i)(.*?)(e)',0) ; 得到的结果为: ...

  5. Hive中row_number()函数用法详解及示例

    目录 一.Hive 中row_number()函数介绍 二.使用示例 三.总结 四.附录 在Oracle中,我们经常会用到row_number() over(partition by clo1 ord ...

  6. pandas dataframe 中 explode()函数用法及效果

            最近在使用pyspark处理数据,需要连接各种各样的表和字段,因此记录相关函数的使用情况.今天介绍explode(). 1. explode()函数简介 explode 函数是 pan ...

  7. php中explode的用法,explode在PHP中的用法

    主要是注意explode的第三个参数 (PHP 3, PHP 4, PHP 5) explode--使用一个字符串分割另一个字符串描述 array explode ( string separator ...

  8. hive中 不等号 的用法

    背景: A表中uuid 字段存在三种情况.第一种为空的情况(即为null),第二种为字符串'null',第三种正常情况. 要求:给出规则,过滤出是为字符串'null'的异常数据量? 解决思路: 第一种 ...

  9. hive中的with用法

    hive 可以通过with查询来提高查询性能,因为先通过with语法将数据查询到内存,然后后面其它查询可以直接使用 with q1 as ( select key from src where key ...

最新文章

  1. k64 datasheet学习笔记35---Analog-to-Digital Converter (ADC)
  2. Mysql的空值与NULL的区别
  3. 清华博士后用10分钟讲解AlphaCode背后的技术原理,原来程序员不是那么容易被取代的!...
  4. C++ STL swap_range
  5. blockchain 区块链200行代码:在JavaScript实现的一个简单的例子
  6. 对html5的了解,HTML5——对HTML5的认识
  7. Vue——组件化开发DEMO
  8. 初始化mysql的数据库失败_初始化mysql的数据库失败怎么办
  9. intl扩展 mac 安装php_mac下php安装intl扩展代码分享
  10. iPhone开发 捕获提交异常日志
  11. JPA与EJB3的关系
  12. Deadline调度器之(二):细节和使用方法
  13. 简单记录fastDFS安装
  14. JS导出页面为PDF,分页导出
  15. inpur标签的各种type
  16. 栈的图文解析 和 对应3种语言的实现(C/C++/Java)
  17. Python Pillow(PIL)库的用法介绍
  18. Windows 用户自动登录开启与关闭方法
  19. c# ppt 转 html,C# 实现PPT 每一页转成图片
  20. Dlink PHP p308av,D-Link系列路由器漏洞挖掘

热门文章

  1. 【Java】根据IP地址获取省市
  2. Nor Flash 学习笔记
  3. Vscode Backspace删除失效
  4. 从0.1开始学Python——[6]
  5. 触摸事件(touchstart、touchmove和touchend)
  6. vscode 缩进快捷键 代码对齐快捷键
  7. Arch Linux安装
  8. JMX详解以及使用示例
  9. GPT4All开源的聊天机器人
  10. NOIP大纲整理:(十六)反转问题与弹性碰撞