Hive Driver 原理

Hive 的Driver 是hive的一个组件,负责将hive  sql 解析和优化HQL语句,将其转换成一个Hive Job(可以是MapReduce,也可以是Spark等其他任务)并提交给Hadoop集群。


Hive Driver 原理_第1张图片


Hive Driver 原理_第2张图片


SQL转化为Hive Job的过程

SQL转化为MapReduce任务的,整个编译过程分为六个阶段:

  1. Antlr定义SQL的语法规则,完成SQL词法,语法解析,将SQL转化为抽象语法树AST Tree
  2. 遍历AST Tree,抽象出查询的基本组成单元QueryBlock
  3. 遍历QueryBlock,翻译为执行操作树OperatorTree
  4. 逻辑层优化器进行OperatorTree变换,合并不必要的ReduceSinkOperator,减少shuffle数据量
  5. 遍历OperatorTree,翻译为hive job任务
  6. 物理层优化器进行hive job任务的变换,生成最终的执行计划
参考:

1.http://tech.meituan.com/hive-sql-to-mapreduce.html

2.https://segmentfault.com/a/1190000002774731

3.http://blog.csdn.net/u010330043/article/details/51225021

你可能感兴趣的:(原创,Hive,大数据系统组件原理笔记,Hive,架构,原理,开发,性能调优)