hive的hive常用優化方法
1樓:清晨陽光
1、join連線時的優化:當三個或多個以上的表進行join操作時,如果每個on使用相同的欄位連線時只會產生乙個mapreduce。
2、join連線時的優化:當多個表進行查詢時,從左到右表的大小順序應該是從小到大。原因:hive在對每行記錄操作時會把其他表先快取起來,直到掃瞄最後的表進行計算。
3、在where字句中增加分割槽過濾器。
4、當可以使用left semi join 語法時不要使用inner join,前者效率更高。原因:對於左表中指定的一條記錄,一旦在右表中找到立即停止掃瞄。
5、如果所有表中有一張表足夠小,則可置於記憶體中,這樣在和其他表進行連線的時候就能完成匹配,省略掉reduce過程。設定屬性即可實現,set ; 使用者可以配置希望被優化的小表的大小 set ; 如果需要使用這兩個配置可置入$home/.hiverc檔案中。
6、同一種資料的多種處理:從乙個資料來源產生的多個資料聚合,無需每次聚合都需要重新掃瞄一次。
例如:insert overwrite table student select * from employee; insert overwrite table person select * from employee;
可以優化成:from employee insert overwrite table student select * insert overwrite table person select *
7、limit調優:limit語句通常是執行整個語句後返回部分結果。set ;
8、開啟併發執行。某個job任務中可能包含眾多的階段,其中某些階段沒有依賴關係可以併發執行,開啟併發執行後job任務可以更快的完成。設定屬性:set ;
9、hive提供的嚴格模式,禁止3種情況下的查詢模式。
a:當表為分割槽表時,where字句後沒有分割槽欄位和限制時,不允許執行。
b:當使用order by語句時,必須使用limit欄位,因為order by 只會產生乙個reduce任務。
c:限制笛卡爾積的查詢。
10、合理的設定map和reduce數量。
11、jvm重用。可在hadoop的中設定jvm被重用的次數。
Hive優化之Hive的配置引數優化
hive的hive常用優化方法 join連線時的優化 當三個或多個以上的表進行join操作時,如果每個on使用相同的欄位連線時只會產生乙個mapreduce。 join連線時的優化 當多個表進行查詢時,從左到右表的大小順序應該是從小到大。原因 hive在對每行記錄操作時會把其他表先快取起來,直到掃瞄...
怎麼優化電腦效能,怎麼提高電腦效能
方法 步驟。在 我的電腦 圖示上點選滑鼠右鍵,點選 屬性 怎樣優化電腦效能。在開啟的視窗中點選 高階系統設定 怎樣優化電腦效能。在開啟的視窗中,在 高階 選項卡 效能 下點選 設定 怎樣優化電腦效能。在開啟的視窗中,視覺效果 欄預設是最佳外觀模式,可以對其中的一些 特效 予以關閉,從而起到提升效能的...
如何優化SQL語句,如何進行SQL效能優化
一 問題的提出 在應用系統開發初期,由於開發資料庫資料比較少,對於查詢sql語句,複雜檢視的的編寫等體會不出sql語句各種寫法的效能優劣,但是如果將應用系統提交實際應用後,隨著資料庫中資料的增加,系統的響應速度就成為目前系統需要解決的最主要的問題之一。系統優化中一個很重要的方面就是sql語句的優化。...