是选impala还是presto_SQL查询引擎对峙:Spark VS Impala VS Hive VS Presto

近日,AtScale公布了第四季度主流大数据SQL引擎的测试结果,主要针对Spark、Impala、Hive/Tez以及Presto。

测试结果证实了我们早已实践出的一些事情:Impala是中等大小数据库查询的最佳选择,并且已经积累了不少用户,Presto在这方面也做得不错。Hive和Spark更适用于长时间分析查询。

AtScale产品管理方面副总Joshua Klar表示,许多公司客户使用两个引擎。通常他们认为Hive更稳定,并且更习惯于使用Hive进行长时间查询。所有的Hive客户都在Tez运行Hive,再也没有人使用MapReduce了,不过Spark基本集合了Hadoop MapReduce的所有优点。以我的经验来看,Spark与Hive之间的稳定性差距很久之前就不存在了,只要你懂得如何进行内存管理。从长远来看,我并不看好在Tez上使用Hive。因为对于一些普通的BI查询,Impala和Presto的表现似乎更加优秀。在内存逐渐变得廉价的时代,如果你可以承担得起在内存中进行大规模数据分析,剩下的基本就是BI模式的东西了。

根据AtScale测试结果,所有SQL引擎的效率较之过去都有明显提高,通过使用一个长久存活的守护程序(LLAP)代替与HDFS datanode的直接交互和一个紧密集成的DAG框架,Hive/Tez取得了令人瞩目的成果。不过,性能上依然不及Impala和Spark,但也不像以前一样缓慢笨拙了。推出了LLAP的Hive/Tez现在已在BI场景中实践了。

完整的测试报告非常值得一读,其中涉及的几大亮点有:

1、Spark 2.0应对大量查询的性能大幅改善,平均为1.6版本的2.4倍。小型查询性能早已经很好了,2.0保持了同样的水平。

2、Impala 2.6应对大量查询的性能提高为2.3版本的2.8倍。小型查询的性能维持原样。

黑斑羚2.6是2.8 x 2.3版本一样快大型查询。小的查询性能已经好,保持大致相同。

3、推出了LLAP之后的Hive 2.1的查询速度是1.2版本的3.4倍,并且小型查询性能也提高为原来的两倍。如果你在使用Hive,这是一个不可错过的版本升级的机会哟。

虽说未来的SQL引擎还有很长的路要走,但好在过去一年,所有引擎的性能都得到了极大地提高,Impala和Preato继续引领着BI类型查询,Spark在大量查询方面的性能占据领先地位。无论如何,你的SQL引擎是时候升级了!

你可能感兴趣的:(是选impala还是presto_SQL查询引擎对峙:Spark VS Impala VS Hive VS Presto)