在我的特殊用例中,Hive(在TEZ上)和Spark之间的性能基准测试



我正在玩一些群集上的数据,并想做一些聚合 - 没有什么太复杂了,但是比总和更复杂,几乎没有加入和计数。我已经在Hive中实现了此汇总,并与Scala Spark进行了Scara,并希望比较执行时间。

当我从Gateway提交脚本时,Linux Time功能使我的实时时间比我期望的SYS时间小。但是我不确定要选择哪一个作为正确的比较。也许只需使用sys.time并运行两个查询几次?在这种情况下,它是可以接受的还是我完全菜鸟?

实时。从性能基准的角度来看,您只关心查询完成之前需要多长时间(人为时间),并且您可以查看结果,而不是内部应用程序启用了多少流程。

请注意,我对性能基准测试非常小心,因为Spark和Hive都有大量可调的配置旋钮,从而极大地影响了性能。请参阅此处的一些示例,以改变矢量化,数据格式选择,数据存储库和数据排序。

"一般共识"是火花在TEZ上的速度比Hive快,但是蜂巢可以处理不适合内存的巨大数据集。(我不会引用来源,因为我很懒,做一些谷歌搜索)

最新更新