Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表。通过给用户提供的一系列交互接口,接收到用户的指令(SQL),使用自己的Driver,结合元数据(MetaStore),将这些指令翻译成MapReduce
- HiveSQL被解析器解析为抽象语法树AST
- AST经过语义分析转化为Query Block(查询块)
- 遍历Query Block(查询块)生成Operator Tree(操作树)
- 优化器优化Operator Tree,合并不必要的操作,减少shuffle数据量
- 遍历优化后的Operator Tree生成MR任务
- 物理层对MR任务进行优化,生成最终的MR任务