天天看點

Hive學習之連接配接查詢優化(一)

      Hive為連接配接查詢提供了一系列的優化方法,包括優化Hive的查詢執行計劃以改進連接配接查詢的效率和減少使用者提示的使用等。Hive可以自動識别很多用例并自動優化它們,Hive在0.11版本中對下面的情況改進了優化器:

  •  連接配接查詢的一端放進記憶體中,在新的優化器中:
    • 放進記憶體的一端在記憶體中以哈希表存在
    • 隻有比較大的表需要掃描
    • 事實表在記憶體中有較小的足迹
  • 星型模式連接配接
  • 在許多用例中不再需要使用者提示
  • 優化器自動優化map連接配接

星型連接配接優化

      星型模式是用于決策支援系統或者資料倉庫的一個簡單模式,在該模式中事件存在于大的事實表中,較小的支援表(次元表)用于描述資料。TPC DS(TPC Benchmark™DS (TPC-DS): 新的決策支援标準)是該模式的一個例子。它是典型的零售資料倉庫模型,其中事件是銷售,典型的次元是銷售的日期,銷售的時間,或者采購方的人口統計,典型的查詢聚集并過濾事實表根據次元表中的屬性。下面是星型模式的一個列子:

Select count(*) cnt
From store_sales ss
     join household_demographics hd on (ss.ss_hdemo_sk = hd.hd_demo_sk)
     join time_dim t on (ss.ss_sold_time_sk = t.t_time_sk)
     join store s on (s.s_store_sk = ss.ss_store_sk)
Where
     t.t_hour = 8
     t.t_minute >= 30
 
           

繼續閱讀