日前,ApacheHive2.1极速登场!携着内存计算,其性能提高了约26倍。Hive计算性能得到如此大的提升,是得益于什么呢?Hive能够影响目前SQL On Hadoop的竞争局面的原因又是什么呢?大圣众包威客平台为你揭秘!
大数据时代,处理数据信息的速度越快,兼容性越高,性能越优秀,产品的竞争力才越大。而让ApacheHive2.1版本拥有以上特性的幕后功臣,分别为以下6个:
1.LLAP的引入
其实,早在ApacheHive2.0版本时,其已引入了LLAP(LiveLongAndProcess),而2.1版本则对其进行了极大的优化,因此2.1版本相比于ApacheHive1版本,其性能提升了约26倍。
如图所示,相比于Hive1+Tez,Hive2.1+Tez+LLAP的性能提升了约26倍,测试结果如下图所示:
正是Hive2LLAP的引入,标志着ApacheHive进入第三代内存计算时代。让ApacheHive2.1性能提升的至关重要的优化秘密,在于LLAP。LLAP是下一代分布式计算架构,它能够智能地将数据缓存到多台机器内存中,并允许所有客户端共享这些缓存的数据,同时保留了弹性伸缩能力。为什么它能拥有这些优势?因为,LLAP引入了分布式持久化查询服务,并结合了经优化的数据缓存机制快速启动查询计算作业,同时,还避免了无需的磁盘IO操作。
2.更鲁邦的SQLACID支持
3.2XETL性能的提升
ApacheHive2.1引入了更智能的CBO(CostBasedOptimizer),实现了更快的类型转换,以及动态分区优化。
4.存储过程的支持
通过开源项目HPL/SQL,让ApacheHive2.1加大简化了从EDW迁移到Hive的流程。而HPL/SQL的目的,是为实现ApacheHive、SparkSQL、Impala以及其他SQL-on-Hadoop,以及任何NoSQL和RDBMS增加存储的过程。
5.对文本格式数据增加向量化计算的支持
6.新的诊断和监控工具的引入
包括新的HiveServer2UI、LLAPUI和改进的TezUI,都是ApacheHive2.1引入的新的诊断和监控工具,这让它性能更稳定。