Hive版本: hive-1.1.0-cdh5.14.2
用户提交HiveQL查询后,Hive会把查询语句转换为MapReduce作业。Hive会自动完成整个执行过程,一般情况下,我们并不用知道内部是如何运行的。但当查询遇到性能瓶颈时,就需要对HiveQL进行调优。
EXPLAIN是调优时查看执行计划的工具,执行计划可以清晰的告诉我们查询的stage、map、reduce等阶段的信息。
EXPLAIN的使用非常简单,只需要在正常HiveQL前面加上就可以了。
此时的HiveQL不会真正执行作业,只是基于代价优化器(CBO)生成了最优的执行路径。
例如,使用EXPLAIN查看一条聚合HiveQL的执行计划:
0: jdbc:hive2://node03:10000> explain select avg(age) from youtubevideo_orc;
执行计划分为两部分:
- stage依赖(STAGE DEPENDENCIES)
- stage详细执行计划(STAGE PLANS)
第一部分:STAGE DEPENDENCIES
这部分展示本次查询分为两个stage:Stage-1,Stage-0.
一般Stage-0是最终给查询用户展示数据用的,如LIMITE操作就会在这部分。
Stage-1是mr程序的执行阶段。


本文介绍Hive查询优化的重要性和EXPLAIN工具的使用方法。通过EXPLAIN可以查看HiveQL查询的执行计划,了解查询的stage、map、reduce等阶段信息,帮助调优。文章还解释了如何收集表的统计信息以提高查询准确性。
最低0.47元/天 解锁文章
2900

被折叠的 条评论
为什么被折叠?



