pivot是一个非常实用的函数
PIVOT的格式:

SELECT [原表字段1,2,3…] FROM [表名]
AS [原表别名]
PIVOT( [聚合函数] ( [原表字段1] ) FOR [原表字段2] IN ( [原表2值1],[原表字段2值2]… ) ) AS [新表别名]

但是hive里面没有自带pivot函数,所以我们需要自己实现
首先创建一组数据

CREATE TABLE IF NOT EXISTS pivot_test(id  INT ,province STRING ,time STRING ,gdp INT
)
COMMENT 'pivot_test';INSERT INTO pivot_test
VALUES (1,'山东省','q1',10),
(2,'山东省','q2',12),
(3,'山东省','q3',15),
(4,'山东省','q4',19),
(5,'浙江省','q1',12),
(6,'浙江省','q2',15),
(7,'浙江省','q3',18),
(8,'浙江省','q4',20);SELECT  *
FROM    pivot_test
;

数据如下

实现过程

SELECT  province,SUM(IF(time='q1',gdp,NULL)) q1,SUM(IF(time='q2',gdp,NULL)) q2,SUM(IF(time='q3',gdp,NULL)) q3,SUM(IF(time='q4',gdp,NULL)) q4
FROM    pivot_test
GROUP BY province
;

最终结果

province q1 q2 q3 q4
山东省 10 12 15 19
浙江省 12 15 18 20

当然如果列目比较多的话,就会比较麻烦

HIVE实现pivot函数相关推荐

  1. 2021年大数据Hive(七):Hive的开窗函数

    全网最详细的Hive文章系列,强烈建议收藏加关注! 后面更新文章都会列出历史文章目录,帮助大家回顾知识重点. 目录 系列历史文章 前言 Hive的开窗函数 一.窗口函数 ROW_NUMBER,RANK ...

  2. Hadoop生态圈-hive编写自定义函数

    Hadoop生态圈-hive编写自定义函数 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.

  3. Hadoop生态圈-Hive的自定义函数之UDF(User-Defined-Function)

    Hadoop生态圈-Hive的自定义函数之UDF(User-Defined-Function) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 转载于:https://www.cnb ...

  4. hive 的udf 函数使用

    1)依据课程讲解UDF编程案例,完成练习,总结开发UDF步骤,代码贴图,给予注释,重点 2)更改emp 表中名字的大写给为小写. 一:hive 的udf 函数: 1.1 hive UDF 函数概述: ...

  5. Hive 正则匹配函数 regexp_extract

    Hive 正则匹配函数 regexp_extract 1.regexp_extract 语法:    regexp_extract(string subject,  string pattern,   ...

  6. SQL语句行列转换两种方法 case ...when 和pivot函数应用

    2019独角兽企业重金招聘Python工程师标准>>> SQL语句行列转换两种方法 case ...when 和pivot函数应用SQL语句行列转换两种方法 case ...when ...

  7. hive内置函数_flink教程flink modules详解之使用hive函数

    modules概念 通过hive module使用hive函数 内置函数 自定义函数 sql 客户端的使用 原理分析和源码解析 实现 modules概念 flink 提供了一个module的概念,使用 ...

  8. hive udaf_Hive UDAF 函数的编写

    UDAF是Hive中用户自定义的聚集函数,Hive内置UDAF函数包括有sum()与count(),UDAF实现有简单与通用两种方式,简单UDAF因为使用Java反射导致性能损失,而且有些特性不能使用 ...

  9. hive的row_number()函数

    hive的row_number()函数 功能 用于分组,比方说依照uuid分组 组内可以依照某个属性排序,比方说依照uuid分组,组内按照imei排序 语法为row_number() over (pa ...

最新文章

  1. SVN commit,update用法
  2. 7月书讯:看风景的人
  3. httpclient高频请求
  4. Npm的配置管理及设置代理
  5. 【学术相关】研究生哪些行为可以在导师那超加分?你做到了吗?
  6. mysql数据库水平分割_数据库的水平分割和垂直分割
  7. 用php写的亲亲鲜花网站_php54鲜花销售网站
  8. Tomcat 异常关闭排查
  9. 阿里全资收购饿了么,估值 95 亿美元
  10. Internet Download Manager v6.41 Build 2
  11. PHP之封装梦网云通讯短信发送类
  12. 咪咕音乐播放器 ubuntu 安装详解
  13. 软件测试分为哪几个阶段?
  14. C++“准”标准库Boost学习指南(3):Boost.Utility
  15. 互联网+大赛作品_“颂中国力量 绘美好梦想”全市中小学生互联网+书画大赛作品展示(四)...
  16. 微信公众号自定义菜单创建
  17. 服务器进pe后找不到硬盘,进入PE后找不到硬盘的原因及解决方法
  18. sqlitespy可以打开MySQL吗_sqlitespy下载
  19. 电脑多久重装一次系统?这几点不注意亏大了!
  20. 一篇让你熟练掌握Java常用工具包(全网最全)

热门文章

  1. python怎么输入空行_python输入空行
  2. 52个数据可视化图表鉴赏,收藏!
  3. 使用tensorflow构建简单卷积神经网络
  4. java获取随机时间_java 随机时间
  5. android中启动广播,Android--启动广播(Broadcast)
  6. python安装gdal库
  7. 研究生论文写作规范(转载)
  8. 性能监视器PerfMon v2.0 是一个流氓的汉化版
  9. 西部广播电视杂志《西部广播电视》杂志社《西部广播电视》编辑部2022年第21期目录
  10. linux php oracle扩展_linux系统下php oracle扩展OCI8的安装与配置