Hive总结
一、Hive架构
1.架构图
2.Hive架构解析
1)用户接口
CLI:cli即shell命令。CLI最常用CLI启动的时候会同时启动 一个Hive 副本
Client: Client是Hive的客户端,用户连接HiveServer,并指出Hive Server 所在的节点以及在该节点启动它
WUI:WUI是通过浏览器启动Hive
2)元数据
Hive将元数据存储在数据库中,如mysql、derby。Hive的元数据信息包 括,表的名字、表的列、分区机器及其属性、表的属性、表的目录等
3)Driver
解释器、编译器、优化器完成HQL的查询语句从词法分析、语法分析、 编译、优化以及查询计划的生成。生成的计划存储在HDFS中,并在MR 中调用执行,Hive的数据存储在HDFS中,大部分的查询计算由MR完成
4)注意事项
Hive会不会转换为MR取决于是否用了聚合函数(https://www.cnblogs.com/staryea/p/8570538.html)
Hive SQL和普通SQL的区别 ( https://blog.csdn.net/qin_na/article/details/78678361)
1)hive没有delete,update等这些对数据操作的函数(详情请看关系数据库和菲关系数据库的区别)
2)hive不支持等号链接,只能用join,leftjoin,rightjoin这些进行联表
3)hive不支持“<”“>”这些大于等于号的范围取值,可以用between来替代
4)hive中String为空时,如果用isNULL来判断话,结果是false,可以用leftjoin筛选行
5)hive中不识别“;”,可以用asc码来替代分号('\073')(https://blog.csdn.net/zengmingen/article/details/78412604)