[英]Is Hive faster than Spark?
閱讀什么是蜂巢后,它是一個數據庫嗎? 一位同事昨天提到他能夠過濾掉一張15B的桌子,在做了一個“分組”之后加入另一張桌子,結果只有10分鍾就產生了6B記錄! 我想知道這在Spark中是否會變慢,因為現在使用DataFrames,它們可能具有可比性,但我不確定,因此這個問題。
Hive比Spark更快嗎? 或者這個問題沒有意義? 對不起,因為我的無知。
他使用最新的Hive,似乎正在使用Tez。
Hive只是一個為MapReduce類型工作負載提供sql功能的框架。
這些工作負載可以在mapreduce或yarn上運行。
因此,比較Hive on tez vs Hive on spark。 下面討論這個好文章什么時候使用Tez VS在Hive上使用ETL何時使用Spark ETL? (如果不確定,請使用Hive on spark)。
越低越好
Spark非常方便,但在SQL性能方面並不能很好地處理擴展。
Hive對共同分區的連接有着驚人的支持。 當您加入的表格有數億到數十億行時,您將非常感謝精細的連接支持:
distribute by
和sort by
(或cluster by
) bucketed joins
Hive對metadata-only queries
提供了廣泛的支持:自2.1以來,Spark只有一絲亮點
當分區數超過10K +時,Spark會快速耗盡。 Hive不受此限制。
快進到2018年,Hive比SparkSQL快得多(也更穩定),特別是在並發環境中,根據以下文章:
https://mr3.postech.ac.kr/blog/2018/10/31/performance-evaluation-0.4/
本文使用TPC-DS基准測試(1TB,3TB,10TB)使用三個集群(11個節點,21個節點,42個節點)比較了幾個SQL-on-Hadoop系統:
因此,與基於Hive的系統和Presto相比,SparkSQL非常慢,並且不能在並發環境中擴展。 (注意,該實驗使用在vanilla Spark上運行的SparkSQL。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.