hive查詢與優化

2021-08-06 01:55:00 字數 444 閱讀 9536

今早的過濾資料,盡可能的減少資料在每個階段的輸入和輸出,使用分割槽表時,要使用分割槽條件進行過濾

可以使用中間表來完成一些複雜的操作

join操作時,將小表放在join的左邊

union all的個數大於2,可以考慮使用inset into來優化

根據資料的本身特點,在使用join 和group by的時候考慮資料傾斜的問題

將小檔案打包成乙個大檔案

設定map和reduce的個數來減少task的數量,從而減少初始化使用時間,使用combine來減少map的輸出

使用分割槽裁剪和列裁剪來極大地提高查詢的速度

並行化的執行 hive.exec.parallel=true;

開啟本地模式,減少io的輸入和輸出

jvm重用mapred.job.reuse.jvm.num.tasks=20;

壓縮資料

具體配置

Hive查詢優化

害,最近組裡有個妹子不是很懂sql,一查就等好長時間,看的我十分揪心,算了,寫幾個常見的hive查詢優化叭。1.條目少的表或者子查詢放在join左邊,因為join左邊會讀入記憶體 select a.val b.val from a 條目少 join b on a.key b.key 2.join 操...

Hive查詢優化

1.先過濾,再查詢,因為每次生成中間表都會儲存到linux磁碟上 記住 不是hdfs 2.注意資料傾斜 傾斜的原因是reduce端資料的大量富集,可適度增加reduce 會著開啟 reduce自己判斷 某一比較大 自己再分開點.也就是合理設定 reduce數量 hive.exec.reducers....

hive查詢優化總結

hive查詢優化總結 儲存,學習,分享 join查詢操作的基本原則 應該將條目少的表 子查詢放在 join 操作符的左邊。原因是在 join 操作的 reduce 階段,位於 join 操作符左邊的表的內容會被載入進記憶體,將條目少的表放在左邊,可以有效減少發生記憶體溢位錯誤的機率。join查詢操作...