前言 一、SQL语句的结构 二、 SQL语句的执行顺序 三、HQL语句优化 1. 列裁剪和分区裁剪 2. 使用sort by 代替 order by 3. 使用group by 代替 distinct 4. 使用with as 5. 聚合操作 -- grouping sets、cube、rollup 5.1 grouping sets 5.2 cube 5.3 rollup 6. union all时可以开启并发执行 7. 表的join优化 8. 数据倾斜 8.1 参数调优 8.2 倾斜key添加随机值打散 9. 遵循严格模式 大家好,我是风云,欢迎大家关注我的个人原创公众号【笑看风云路】获取更多大数据技术干货,在未来的日子里我们一起来学习大数据相关的技术,一起努力奋斗,遇见更好的自己! 扫码进,更快捷: 前言 基于Hive的开发过程中主要涉及到的可能是SQL优化这块。 优化的核心思想是: 减少数据量(例如分区、列剪裁) 避免数据倾斜(例如加参数、Key打散) 避免全表扫描(例如on添加加上分区等) 减少job数(例如相同的on条件的join放在一起作为一个任务) 一、SQL语句的结构 SELECT * (必须) FROM 表(数据源) WHERE 条件 GROUP