Hive中with cube、with rollup、grouping sets用法
来源:互联网 发布:编程器diy 编辑:程序博客网 时间:2024/05/19 04:02
表结构
CREATE TABLE test (f1 string, f2 string, f3 string, cnt int) ROW FORMAT delimited FIELDS TERMINATED BY '\t' stored AS textfile;LOAD DATA LOCAL inpath '/data/logs/suiyingli/tmp/test.data' overwrite INTO TABLE test;
原始数据
•A A B 1
•B B A 1
•A A A 2
with cube查询语句
SELECT f1, f2, f3, sum(cnt), GROUPING__ID, rpad(reverse(bin(cast(GROUPING__ID AS bigint))),3,'0')FROM testGROUP BY f1, f2, f3 WITH CUBE;
with cube结果范例
rollup查询语句
SELECT f1, f2, f3, sum(cnt), GROUPING__ID, rpad(reverse(bin(cast(GROUPING__ID AS bigint))),3,'0')FROM testGROUP BY f1, f2, f3 WITH ROLLUP;
rollup结果范例
grouping sets查询语句
SELECT f1, f2, f3, sum(cnt), GROUPING__ID, rpad(reverse(bin(cast(GROUPING__ID AS bigint))),3,'0')FROM testGROUP BY f1, f2, f3GROUPING sets((f1),(f1,f2))grouping sets结果范例
总结
cube的分组组合最全,是各个维度值的笛卡尔(包含null)组合,rollup的各维度组合应满足,前一维度为null后一位维度必须为null,前一维度取非null时,下一维度随意,
grouping sets则为自定义维度,根据需要分组即可。
ps:通过grouping sets的使用可以简化SQL,比group by单维度进行union性能更好。
0 0
- Hive中with cube、with rollup、grouping sets用法
- sql中 with rollup 、with cube、grouping 统计函数用法
- sql中 with rollup 、with cube、grouping 统计函数用法
- sql中 with rollup 、with cube、grouping 统计函数用法
- sql中 with rollup 、with cube、grouping 统计函数用法
- with rollup 、with cube、grouping 统计函数用法
- sql中 with rollup 、with cube、grouping 统计函数用法 持续更新
- GROUPING SETS,ROLLUP,CUBE用法介绍
- GROUPING SETS、ROLLUP、CUBE
- GROUPING SETS、ROLLUP、CUBE
- GROUPING SETS、ROLLUP、CUBE
- SQL Server2008 程序设计 汇总 group by ,WITH ROLLUP , WITH CUBE,Grouping sets(..)
- SQL SERVER中GROUPING SETS,CUBE,ROLLUP
- grouping、with rollup的用法。
- GROUP BY中ROLLUP/CUBE/GROUPING/GROUPING SETS使用示例
- GROUP BY中ROLLUP/CUBE/GROUPING/GROUPING SETS使用示例
- oracle group by中rollup、cube、grouping sets、grouping
- GROUP BY中ROLLUP/CUBE/GROUPING/GROUPING SETS使用示例
- 如何查看电脑核数和线程数(网传方法有误)
- 高可用架构-- MySQL主从复制的配置
- Sicily AVL Tree
- JDBC存图片与取出图片
- Android 7.0 行为变更
- Hive中with cube、with rollup、grouping sets用法
- 关于微信二次分享,描述变链接的解决方法(一)----文档说明
- spring事务管理使用总结
- 面试题之数组指针和指针数组的区别
- Springmvc+Apache Camel+Mybatis集成实例及分析
- Android .9.png图片的制作与使用
- [推荐]图文详细,AndroidStudio_2016.10.19最新版本安装指南与android项目创建
- Linux TCP/UDP小例子
- 如何向kernel提交patch