Hive的产生背景
- 由于MapReduce编程的不方便:包括但不限于开发、测试、需求变更
- 传统的关系型数据库人员(DBA)的需要——毕竟DBA已经存在并且优化了好多年,因此如果能像使用SQL一样来处理分析大数据就会很好了
因此,Hive产生了
Hive数据在HDFS上边,因此使用SQL之前需要进行数据化、文件映射成为表格,在这个引入一个概念——Schema(元数据信息)
Hive是什么
关注官网——apache hive.org
Hive 是一个构建在Hadoop之上的数据仓库软件,进行读写管理分布式存储的大数据数据集
Hive通常用于离线处理
流程就是
SQL==>Hive==>MapReduce==>YARN
Hive重要版本更新
08/07 Facebook
05/13 0.11 Stinger Phase 1 ORC HiveServer2
10/13 0.12 Stinger Phase 2 ORC improvement
04/14 0.13 Stinger Phase 3 Tez and Vectorized query engine
11/14 0.14 Stinger.next Phase 1: Cost-based optimizer
部署架构
Hive对比Hadoop不同的是Hive是客户端,没有集群
具体架构见下图
Hive与RDBMS的关系
都是面向SQL
都具有一定的实时性(MySQL对比Hive要快很多,因为每一次Hive进行SQL需要MP作业,效率比较低)
都有事务(大数据中没什么乱用)
分布式(MySQL也有集群概念,相对来说比较小)
数据量(MySQL数据量对比Hadoop小很多)