hive sql 优化
来源:互联网 发布:我的淘宝订单 编辑:程序博客网 时间:2024/06/05 03:41
1、COUNT(DISTINCT)优化
原始语句运行时间大概215秒
select dt,count(distinct case when page='2001' then uuid end) as cleanUserfrom dw_space_page_orc_dt where dt>='20170506'优化之后语句运行时间大概155秒
select sum(t2.uuid_group) cleanUser from (select t1.tag, count(1) uuid_group from (select uuid, cast(RAND() * 100 AS BIGINT) tag from dw_space_page_orc_dt where page='2001' and dt>'20170506' group by uuid) t1 group by tag) t2;
- 第一层SELECT:对uuid进行去重,并为去重后的uuid打上整数标记
- 第二层SELECT:按照标记进行分组,统计每个分组下uuid的个数
- 第三层SELECT:对所有分组进行求和
上面这个方法最关键的是为每个uuid进行标记,这样就可以对其进行分组,分别计数,最后去和。如果数据量确实很大,也可以增加分组的个数。例如:CAST(RAND() * 1000 AS BIGINT) tag
0 0
- hive sql 优化
- hive sql 优化
- hive sql优化
- hive sql 优化
- hive sql优化
- hive sql优化
- Hive sql 优化介绍
- hive sql join优化
- hive-sql优化
- hive sql层面优化
- hive sql 优化
- Hive SQL的优化
- hive sql优化整理
- hive sql 优化
- Hive SQL优化
- hive sql 优化
- hive sql 优化
- Hive知识点四(sql优化)
- [RK3288][Android6.0] 调试笔记 --- 测试I2C设备正常传输方法
- 使用AndroidStudio运行第一个NDK项目
- vue+axios 登录拦截
- JAVA开发之 8-path环境变量的作用及配置方式(2)
- matlab在DSP中的应用(七)---快速傅里叶变换(FFT)
- hive sql 优化
- React Native与OC之间通信那些事
- linu操作系统基础
- 刷清橙OJ--A1004.画长方形2
- 限制键盘只能按数字键、小键盘数字键、退格键
- Numpy 学习指南 学习笔记(一)
- 2016搜索提高1010
- spring最新版本下载地址
- 无法解析的外部符号 _WinMain@16