Hive的架构原理

Hive的架构原理以及运行原理

一、客户端:Hive是Mapreduce的客户端,Hive的客户端有两种方式:

  1. CLI:命令行的方式
  2. JDBC:这种我们也可以通过java代码来实现,不过一般不这样做。

二、四个器

  1. 解析器:将SQL字符串转换成抽象语法树AST,这一步一般都用第三方工具库完成,解析器是对sql的语法,表是否存在,以及字段是否存在做检查,hql通过了解析器就说明语法上没有问题
  2. 编译器:根据AST生成执行计划
  3. 优化器:对逻辑执行计划进行优化
  4. 执行器:将逻辑执行计划转换为可以运行的物理计划,对于hive来说就是hadoop或者spark

三、Hive的类似于关系型数据库

  1. hive有自己的执行引擎,就是Mapreduce。
  2. hive存储数据使用的是hdfs
  3. hive的元数据存储的位置是关系型数据库

四、Hive的运行机制

Hive的架构原理以及运行原理

  1. hive将结构化的数据存储在hdfs中
  2. hive通过sql语句创建出与hdfs中的元数据所对应的表信息,这些信息就是元数据metastore,是存储在关系型数据库当中的。然后通过映射关系关联元数据和结构化的数据
  3. 同时meta store中还记录着表对应文件的path,然后会生成hive中的metastore
    文件的path,然后会生成hive中的metastore
  4. 解析器去根据路径查询hdfs中的数据,解析器还会将sql语言解析成对应的mapreduce程序,并且生成对应的jar包

相关文章: