大数据hive篇_group seting解决业务问题
1、业务背景
最近接到的一个比较刁的体系建设需求,需求背景简述:一个功能有新老两个版本,每个功能可以通过AB两个方式进到功能中使用,其中A方式又可以细分成A1、A2、A3三个口子。
拆分方式是按三层来拆,按第一层是新老的拆分的同时,也能按第一层是进入方式来拆 以拆分维度日活为例
具体的拆分方式可见下表:
2、解决方法介绍
目前的想到的可以用的解决方案是通过group setings中的with cube来获取
展开之前,笔者先介绍下grouping setings的使用笔记,不足之处,望多多指正。
- 一句话概括:group seting的使用方式是多个group by进行union all操作的简单表达;
- 常见的使用语法:
-- 使用方法1
group seting(a,b)、
-- 等价于
group by a union all group by b--WITH ROLLUP使用方法(类似取含a的所有排列组合)
select a, b, c from table group by a, b, c WITH ROLLUP;
-- 等价于
select a, b, c from table group by a, b, c
GROUPING SETS((a,b,c),(a,b),(a),());-- with cube使用方法(类似取所有的排列组合);
select a, b, c from table group by a, b, c WITH cube;
-- 等价于
select a, b, c from table group by a, b, c
GROUPING SETS((a,b,c),(a,b),(a,c),(b,c),(a),(b),(c),());-- having的使用方法select A,max(b) b1 from t group by A
having b1 > 1000;-- 等价于select t.A,t.b1from (select A,max(b) b1 from t group by A) twhere t.b1 > 1000;
3、解决方案
不妨假设每一层分别为l1 l2 l3 用户为user_id
写法为:
select l1,l2,l3 ,is_ths_user,count(1) as user_cnt from tablegroup by l1,l2,l3with cube```
大数据hive篇_group seting解决业务问题相关推荐
- 大数据hive篇--hive报错return 2 return 3 解决方式
oozie跑hive脚本报错: FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRed ...
- 大数据hive篇--return code 3 报错
问题描述 使用hive跑数时,出现return code 3的错误,但没有报出代码中具体位置的错误. 问题原因 具体原因不是非常清楚,但是网上提到的原因最有可能的是数据倾斜导致的,具体的表现就是任务执 ...
- 大数据Hive篇_埋点、日志数据清洗(string类型)
实习期间处理业务需求不会的总结汇总,主要学习自花花里的前辈带教.与<Hive编程指南>一书,不足之处,望多多指正. 前言 实际的业务处理中,业务方提出的一个临时需求如果找不到对应的取数表, ...
- 大数据hive篇--UDF函数
什么是UDF: 它是User defined Function的简写,意思是用户自定义方法 为什么要用UDF? hive自带了一些函数,比如:max.min 等,但是自带的函数数量有限,所以hive提 ...
- 女友问粉丝过万如何庆祝,我发万字长文《保姆级大数据入门篇》感恩粉丝们支持,学姐|学妹|学弟|小白看了就懂
2021大数据领域优质创作博客,带你从入门到精通,该博客每天更新,逐渐完善大数据各个知识体系的文章,帮助大家更高效学习. 有对大数据感兴趣的可以关注微信公众号:三帮大数据 目录 粉丝破万了 新星计划申 ...
- 女友问粉丝过万如何庆祝,我发长文《保姆级大数据入门篇》感恩粉丝们支持,学姐|学弟看了就懂
文章目录 粉丝破万了 新星计划申请时粉丝数 新星内卷抢热榜之旅 运营整顿新星执行新规 重整旗鼓输出内容为王 女友问粉丝过万如何庆祝 保姆级大数据入门篇 一.学习重点划定 二.Java和大数据关系 三. ...
- 大数据基础篇~JavaSE第一章
大数据基础篇教程分享01 目前计算机专业现状,java开发工程师虽然容易找工作(这个也是在你在大学期间java基础学习的比较好,然后会一些框架,才能找到工作)但是java开发常常熬夜,楼主就是卷不动j ...
- 2019尚硅谷大数据Maven篇一 Maven安装和概念
2019尚硅谷大数据Maven篇一安装和概念 tags: golang 2019尚硅谷 categories: java Maven 安装 依赖 概念 文章目录 2019尚硅谷大数据Maven篇一安装 ...
- 2021年大数据Hive(十二):Hive综合案例!!!
全网最详细的大数据Hive文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 前言 Hive综合案例 一.需求描述 二.项目表的字段 三.进 ...
最新文章
- Spring context:component-scan代替context:annotation-config
- 《Effective STL》学习笔记(第一部分)
- springboot----shiro集成
- sqlite3的backup和restore函数的使用
- 用JSONObject解析和处理json数据
- 移动平台前端开发总结(针对iphone,Android等手机)
- 拓端tecdat|机器学习:在SAS中运行随机森林
- CANoe软件打不开了怎么办?
- 我爱 Ruby 的三十七个理由
- VAF,MAF,肿瘤纯度,MCF,CCF的概念和计算方法 (转载)
- Mac下Tesseract-OCR文字识别新手使用入门
- 使用mock模拟数据,实现图片文字向上的轮播
- html/CSS 字体样式表 font-family:中文字体的英文名称
- 太强了!Java毕业设计分享—基于Java开发的毕业设计实战项目(含源码+论文)
- mac鼠标不能双击打开文件夹的解决方法
- 【Python】文件夹的基本操作
- MVC5 + EF6 + Bootstrap3 (9) HtmlHelper用法大全(下)
- 小议阿里云数加平台对企业有何帮助?
- Robust Rank Deficient SLAM
- unity5在小米pad上闪退