hive的结构图:
hive中最重要的就是Compiler解析器,hive当客户端提交一条sql,Driver将sql提交给compiler,compiler和dirver交互拿到meatastore中元数据信息,经过解析生成mapreduce任务提交给driver,driver再将任务提交给hadoop。
compiler执行流程
Parser:将sql字符串转换成为Parser Tree的形式(此法分析,语法分析,转化成为Tree)(AST:抽象查询树)
Semantic Analyzer:(语义解析)通过递归下降的方式将Parser Tree 转换为查询块的图,并填充元数据和校验(QB:查询块)
Logical Plan Generator:转换成一系列的逻辑执行计划,也就是逻辑操作符构成的树。(Operator Tree:操作符构成的图)
Logical Optimizer:对逻辑执行计划生成的Operators图改写。(如相同key的join的改写)(Operator Tree:操作符构成的图)
Physical Plan Generator:物理执行计划,将逻辑执行计划切分、改写成为物理执行计划(M/R作业,客户端操作等)(Task Tree:由Task构成的有向无环图)
Physical Optimizer:优化物理执行计划(Task Tree:由Task构成的有向无环图)
逻辑优化器
谓词下推优化器:就是将where条件如果可能在join前提前处理。
72