编译器将Hive SQL 转换成一组操做符(Operator)blog
操做符是Hive的最小处理单元编译器
每一个操做符处理表明一道HDFS操做或MapReduce做业编译
Hive编译过程:class
- 将SQL转换成抽象语法树 Parser
- 将抽象语法树转换成查询块 Semantic Analyzer
- 将查询块转换成逻辑查询计划 Logic Plan Generator
- 重写逻辑查询计划 LogicalOptimizer
- 将逻辑计划转成物理计划( M/R jobs ) Physical Plan Generator
- 选择最佳的Join策略 PhysicalOptimizer