1.3.1 Hive的发展历程

1. 版本历史

2007年8月由Facebook开始开发。

2008年8月开源。

2013年2月Hortonworks主导了探针计划(Stinger),这个计划旨在使Hive的性能提升100倍。Stinger分为三个阶段完成。

(1)Stinger阶段一(2013年5月):Hive 0.11.0,加入了ORC、HiveServer2等。

(2)Stinger阶段二(2013年10月):Hive 0.12.0,对ORC进行了改善。

(3)Stinger阶段三(2014年4月):Hive 0.13.0,加入了Tez和支持向量化的查询。

2014年11月Stinger.next后续阶段:Hive 0.14.0,加入了基于成本的优化器(Cost based Optimizer,CBO)对HQL执行计划进行优化。适用于Hadoop 1.x.y,2.x.y。

2015年2月Hive 1.0.0发布,与Hive 0.14.0变化不大。该版本正式移除了HiveServer1,全面开始使用HiveServer2。

2015年5月Hive 1.2.0发布。

2016年2月Hive 2.0.0发布,适用于Hadoop 2.x.y,加入了HPLSQL、LLAP等。

2018年5月Hive 3.0.0发布,适用于Hadoop 3.x.y,加入了物化视图等新功能。

2. 里程碑版本

Hive 0.14.0引入CBO。

Hive 1.0.x为HiveMetaStoreClient定义了API,移除了HiveServer1,全面使用HiveServer2。

Hive 2.x版本中,推出了140余项优化与改进。下面简单介绍其四大特性。

(1)开启了LLAP

Hive 2.1推出的LLAP是下一代分布式计算架构,它能够智能地将数据缓存到多台机器的内存中,并允许所有客户端共享这些缓存的数据,同时还保留了弹性伸缩的能力。通过LLAP(Live Long and Process),Hive 2.1进行了极大的性能优化。在开启LLAP的Hive 2.x与Hive 1.x进行对比测试,结果显示Hive 2.x的性能提升了约25倍。

(2)支持使用HPL/SQL的存储过程语言

Hive 2.0.0推出的Hive Hybrid Procedural SQL On Hadoop(HPL/SQL)是一个在Hive上执行存储过程的SQL工具,它可以表达复杂的业务规则。

(3)持续优化成本优化器CBO

Hive 2.0.0开始持续不断地优化成本优化器CBO,尤其是在BI业务关注的TPC-DS查询上。

(4)提供全面详尽的监控和诊断工具

可以通过新的HiveServer2 Web UI、LLAP Web UI和Tez Web UI查看Hive相关的HQL查询以及关联的作业状态和日志,丰富了Hive用户的运维和排错手段。