hive的定义:Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。
1. 为什么使用Hive
1).直接使用hadoop所面临的问题
人员学习成本太高
项目周期要求太短
2). MapReduce实现复杂查询逻辑开发难度太大
2. 为什么要使用Hive
操作接口采用类SQL语法,提供快速开发的能力。
避免了去写MapReduce,减少开发人员的学习成本。
扩展功能很方便。
3. Hive的特点
- 可扩展
Hive可以自由的扩展集群的规模,一般情况下不需要重启服务。
- 延展性
Hive支持用户自定义函数,用户可以根据自己的需求来实现自己的函数。
- 容错
良好的容错性,节点出现问题SQL仍可完成执行。
hive方法使用sql开发mapreduce程序,hive是在hdfs之上管理数据,数据是存储在hdfs上,元数据存储在mysql上,元数据包括数据存储的路径等信息。通过元数据可以找到存储在hdfs上的数据。hive就是个工具,在做数据仓库中很常用。hive原理是解析sql语句,套用mr模版库来转换成mapredce语句,通过job runner发送给yarn,执行mr任务。