Hive基础知识,
一、产生背景
1.MapReduce编程十分不方便
2.传统RDBMS【关系数据库管理系统(Relational Database Management System)】人员的需求:如果能用SQL来处理大数据是极其方便的
基于以上两个背景,Hive应运而生
二、Hive是什么
Hive : SQL on Hadoop
官网 : hive.apache.org
The Apache Hive ™ data warehouse software facilitates reading, writing, and managing large datasets residing in distributed storage using SQL. Structure can be projected onto data already in storage. A command line tool and JDBC driver are provided to connect users to Hive.
Hive是一种使用SQL进行读,写和管理分布式存储的大型数据集的数据仓库软件(实时、离线)。结构可以投影到存储中的数据上。提供命令行工具和JDBC驱动程序给用户用来连接Hive。
Hive是构建在hadoop之上的数据仓库
HDFS:存储
MapReduce、Tez、Spark:执行引擎
Hive QL/HQL: 类SQL
输入SQL通过Hive转换为MapReduce、Tez、Spark作业运行
三、Hive的发展历程
2007/08:facebook
2013/05:0.11.0 Stinger(代号)第一阶段 提出ORC(存储格式) HiveServer2
2013/10:0.12.0 Stinger 第二阶段 ORC inprovement
2014/04:0.13.0 Stinger 第二阶段 Vectorized query engine Tez执行引擎
2014/11:0.14.0 Stinger.next 第一阶段 Cost-based optimizer(CBO)
2015/01:1.0.0 ...
四、Hive的特点
1.简单易用
2.扩展性好 HDFS存储和MapReduce运行资源的增减比较灵活
3.统一的元数据(meta/schema)管理:MySQL/Derby
database/table/column/location
好处:使用Spark、Impala、Presto等工具时都能访问到元数据,即共享元数据
五、Hive体系架构
六、部署架构
本地不一定要有MySQL,也可以是远程的访问MySQL必备的条件:驱动driver、url、username、password
七、Hive 和 RDBMS的异同点
同:都写sql
异:RDBMS实时性比较好
Hive实时性差,延时性高,处理时间长,适用于离线数据