hive的strict模式;where,group by,having,order by同时使用的执行顺序
2015-11-02 18:00
525 查看
主要限制三种情况
(1) 有partition的表查询需要加上where子句,筛选部分数据实现分区裁剪,即不允许全表全分区扫描,防止数据过大
(2) order by 执行时只产生一个reduce,必须加上limit限制结果的条数,防止数据量过大造成1个reduce超负荷
(3) join时,如果只有一个reduce,则不支持笛卡尔积查询。也就是说必须要有on语句的关联条件,做自然连接。
group by和order by 同时使用,不会按组进行排序
where,group by,having,order by同时使用,执行顺序为
(1)where过滤数据
(2)对筛选结果集group by分组
(3)对每个分组进行select查询,提取对应的列,有几组就执行几次
(4)再进行having筛选每组数据
(5)最后整体进行order by排序
(1) 有partition的表查询需要加上where子句,筛选部分数据实现分区裁剪,即不允许全表全分区扫描,防止数据过大
(2) order by 执行时只产生一个reduce,必须加上limit限制结果的条数,防止数据量过大造成1个reduce超负荷
(3) join时,如果只有一个reduce,则不支持笛卡尔积查询。也就是说必须要有on语句的关联条件,做自然连接。
group by和order by 同时使用,不会按组进行排序
where,group by,having,order by同时使用,执行顺序为
(1)where过滤数据
(2)对筛选结果集group by分组
(3)对每个分组进行select查询,提取对应的列,有几组就执行几次
(4)再进行having筛选每组数据
(5)最后整体进行order by排序
相关文章推荐
- Kinect2.0+Unity之环境搭建
- hive metadata 存mysql 注释中文乱码的问题
- BootStrap学习笔记-5
- 多线程下载和断点续传
- LightOJ 1021 - Painful Bases (状压dp)
- android-Handler的使用、AsyncTask的使用、Mvc架构的应用举例
- 20140923-瞬时模型化Eclipse SWT应用界面
- [PHP代码] 计算年龄 精确到天
- MySQL双主高可用架构之MMM实战
- 斜杠“/” 反斜杠“\”
- Qt之自定义插件(for Qt Designer)
- 总结揭露黑客入侵网站的手法
- ajax编码问题
- 关于部署tomcat 连接数据库的问题
- 安装和配置SNMP
- Windows平台分布式架构-负载均衡(高并发)
- 20140923-瞬时模型化Java Swing应用界面
- 使用libcurl 编写Linux下Http客户端
- python解析时间格式脚本
- Android broadcast