2016-12-30 74 views
0

我正在玩一些關於cluster的數據,想要做一些聚合 - 沒有太複雜,但比sum更復雜,加入並計數區別。我已經在Hive和Spark中使用Scala實現了這種聚合,並且想要比較執行時間。Hive(on Tez)和Spark之間針對我的特殊用例進行的性能基準測試

當我從網關提交腳本時,linux時間函數使我的實時時間小於sys時間,這是我的預期。但我不確定應該選擇哪一個作爲適當的比較。也許只是使用sys.time並運行這兩個查詢幾次?這是可以接受的,或者我在這種情況下是完整的noob?

回答

0

實時。從性能基準角度來看,您只關心在查詢完成之前需要多長時間(人工時間),並且您可以查看結果,而不是內部應用程序正在啓動的進程數量。

請注意,我將非常小心性能基準測試,因爲Spark和Hive都有大量可調諧配置旋鈕,這些旋鈕極大地影響性能。有幾個示例,請參閱here以通過矢量化,數據格式選擇,數據分段和數據排序來更改Hive性能。

「普遍的共識」是Spark在Tez上比Hive更快,但是Hive可以處理大量不適合內存的數據集。 (我不會引用一個來源,因爲我很懶,做一些谷歌搜索)

相關問題