簡體   English   中英

Hive比Spark更快嗎?

[英]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 bysort 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-LLAP包含在HDP(Hortonworks數據平台)2.6.4中
  • Hive-LLAP包含在HDP 3.0.1中
  • Presto 0.203e(啟用基於成本的優化)
  • Presto 0.208e(啟用基於成本的優化)
  • SparkSQL 2.2.0包含在HDP 2.6.4中
  • SparkSQL 2.3.1包含在HDP 3.0.1中
  • Hive 3.1.0運行在Tez之上
  • Hz on Tez包含在HDP 3.0.1中
  • Hive 3.1.0運行在MR3 0.4之上
  • Hive 2.3.3運行在MR3 0.4之上

因此,與基於Hive的系統和Presto相比,SparkSQL非常慢,並且不能在並發環境中擴展。 (注意,該實驗使用在vanilla Spark上運行的SparkSQL。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM