一、作用
- 用户提交HiveQL查询后,Hive会把查询语句转换为MapReduce作业。Hive会自动完成整个执行过程,一般情况下,我们并不用知道内部是如何运行的。执行计划可以告诉我们查询过程的关键信息,用来帮助我们判定优化措施是否已经生效。
二、基础语法
-
EXPLAIN的使用非常简单,只需要在正常HiveQL前面加上EXPLAIN就可以了。执行计划运行时
的HiveQL不会真正执行作业,只是基于优化器生成了最优的执行路径:EXPLAIN [EXTENDED] query
-
extended输出更加详细的信息;
三、执行计划分为两部分
- stage依赖(STAGE DEPENDENCIES)
- 这部分展示本次查询分为两个stage:Stage-1,Stage-0.
- 一般Stage-0是最终给查询用户展示数据用的,如LIMITE操作就会在这部分。
- Stage-1是mr程序的执行阶段。
- stage详细执行计划(STAGE PLANS)
- 包含了整个查询所有Stage的大部分处理过程。
- 特定优化是否生效,主要通过此部分内容查看。