一、Hive产生背景
那么能否让用户将数据文件从一个现有的数据架构转移到 Hadoop 上来呢?假设该数据梁构是基于传统关系型数据库和 SQL 查询的。其实对于大量的 SQL 用户来说,这个问题很难解决。针对这个挑战,Hive 在Facebook 诞生了。
二、Hive是什么
1、Hive是一个基于Hadoop的数据仓库工具
2、可以将结构化的数据文件映射为一张数据库表
3、提供SQL查询功能,可以将SQL语句转化为MapReduce作业进行运行
4、可以进行数据提取、转化和加载
5、现已成为Apache顶级项目
6、适合联机事务处理(OLTP)
三、Hive在Hadoop生态系统中的位置
运行 Hive 的必要环境便是 Hadoop 的核心:HDFS、 MapReduce以及YARN。也可以这样理解,Hive 是由 Hadoop 行生出来的上层应用之一:SQL on Hadoop。 Hive 执行的本质仍然是MapReduce, 但多了一步 SQL 至MapReduce 的转化操作,所以相同条件下,Hive 在运行时并没有直接编写 MapReduce 执行效率高。
四、Hive与传统关系型数据库的异同
![](https://i-blog.csdnimg.cn/blog_migrate/77f69b99eec52497b9d8042f322b399d.png)
五、Hive的工作流程
六、Hive的特点与优势
特点:
1、HQL与SQL 有着相似的语法,大大提高了开发效率。
2、Hive 支持运行在不同的计算框架上,包括 YARN、Tez、Spark、Flink 等。
3、Hive 支持 HDFS 与 HBase 上的ad-hoc。
4、Hive支持用户自定义的函数、脚本等。
优势:
1、可扩展:Hive可以自由扩展集群的规模,一般情况下无需重启服务。
2、可延展:Hive支持用户自定义函数,用户可根据自己的需求来编写自定义函数。
3、可容错:Hive支持用户自定义函数,用户可根据自己的需求来编写自定义函数。
七、Hive架构
1、Hive客户端(Clients)
2、Hive服务端(Services)
3、Hive存储与计算,HIve的数据存储在HDFS中。