栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

SQL面试题-Hive中Cube使用

SQL面试题-Hive中Cube使用


需求:求 app,channel,province 任意组合下的用户数,用一个 sql 实现,上面一 条记录会产生多条记录。

hive> select * from app;
OK
消消乐	ios	北京	abc
王者荣耀	Android	上海	cde
Time taken: 0.479 seconds, Fetched: 2 row(s)
hive> select app,channel,province,count(userid) as total_user_count from app group by app,channel,province with cube;
Total MapReduce CPU Time Spent: 9 seconds 350 msec
OK
NULL	NULL	NULL	2
NULL	NULL	上海	1
NULL	NULL	北京	1
NULL	Android	NULL	1
NULL	Android	上海	1
NULL	ios	NULL	1
NULL	ios	北京	1
消消乐	NULL	NULL	1
消消乐	NULL	北京	1
消消乐	ios	NULL	1
消消乐	ios	北京	1
王者荣耀	NULL	NULL	1
王者荣耀	NULL	上海	1
王者荣耀	Android	NULL	1
王者荣耀	Android	上海	1
Time taken: 82.009 seconds, Fetched: 15 row(s)
hive> select app,channel,province,count(userid) as total_user_count from app group by app,channel,province with rollup;
Total MapReduce CPU Time Spent: 6 seconds 440 msec
OK
NULL	NULL	NULL	2
消消乐	NULL	NULL	1
消消乐	ios	NULL	1
消消乐	ios	北京	1
王者荣耀	NULL	NULL	1
王者荣耀	Android	NULL	1
王者荣耀	Android	上海	1
Time taken: 53.346 seconds, Fetched: 7 row(s)
hive> select app,channel,province,count(userid) as total_user_count from app group by app,channel,province grouping sets((app),(app,province));
Total MapReduce CPU Time Spent: 6 seconds 150 msec
OK
消消乐	NULL	NULL	1
消消乐	NULL	北京	1
王者荣耀	NULL	NULL	1
王者荣耀	NULL	上海	1
Time taken: 42.786 seconds, Fetched: 4 row(s)

CUBE 生成的结果集显示了所选列中值的所有组合的聚合。ROLLUP 生成的结果集显示了所选列中值的某一层次结构的聚合。仅在与包含 CUBE 或 ROLLUP 运算符的 GROUP BY 子句相关联的选择列表中才允许分组。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/710683.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号