Hive架构设计总结

Hive架构设计总结

一角色名称

user interface,Metestore,hiveserver2,Driver

二角色作用

userInterface分为,hiveCli,hiveClient,hwi,其中最常用的是cli,cli启动的时候,会同时启动一个hive副本。client是hive的客户端,用户连接至hiveserver,在启动client模式的时候需要指出hiveserver所在节点,并在该节点启动hiveserver,作为用户与hive交互的窗口。

  • metestore用于存储元数据,包括表库分区信息,元数据存储在数据库中,如mysql,derby。
  • hiverserver是hive与client端的交换终端,client通过hiverser构建SQL语句,访问hadoop,并把数据通过hiverserver返回到client端,解耦作用
  • Driver 里面包含了sql complier,sql optimsizer,executor等解释器,编译器,优化器,完成hql查询语句从此法分析,语法分析编译优化以及产生查询计划,生成的查询计划存储在HDFS中,并在随后有mapreduce调用执行
  • Hive的数据存储在HDFS中,大部分的查询,计算是由mapreduce完成的(select*不是由mapreduce完成)

三 角色关联

首先,用户将sql语句提交到hiveCli,hivecli将sql通过hiveserver传递给Driver,driver首先与metestore交互,查看表库分区信息是否一致,然后对hivesql进行词法分析,语法分析,编译优化,以及生成查询计划,最后执行,执行结束后将结果返回到hivecli。

上一篇:大数据技术原理与应用作业八


下一篇:Mapreduce实例——排序