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。
标签:总结,架构设计,hiveserver,mapreduce,hive,查询,client,Hive,sql 来源: https://blog.csdn.net/qq_32118757/article/details/120173318