Hive提供的执行计划目前可以查看的信息有以下几种:
● 查看执行计划的基本信息,即explain;
● 查看执行计划的扩展信息,即explain extended;
● 查看SQL数据输入依赖的信息,即explain dependency;
● 查看SQL操作相关权限的信息,即explain authorization;
● 查看SQL的向量化描述信息,即explain vectorization。
MR引擎下,用explain打开的执行计划包含以下两部分:
● 作业的依赖关系图,即STAGE DEPENDENCIES;
● 每个作业的详细信息,即STAGE PLANS。
举个栗子:
执行结果如下:
解读:
- stage dependencies描绘了作业之间的依赖关系,
即stage0依赖stage-1的执行结果。stage-0表示客户端读取stage-1的执行结果
stage-1表示如下SQL,即select *from student_tb_orc where s_age<30 and s_name like'%红%’的执行过程。
Stage-1分为Map和Reduce两个阶段,对应的执行计划关键词解读如下:
● MapReduce:表示当前任务执行所用的计算引擎是MapReduce。
● Map Opertao