Hive企業級調優

2021-10-11 04:58:35 字數 757 閱讀 5605

對sql語句的優化 統計個數使用count(1),不要使用count(*)

查詢字段不要select * ,使用select 字段

使用特殊的儲存格式 列式儲存:orc,parquet 建表的時候 stored as orc

小表join大表(mr程式中的map端 jojn) 小表是個小檔案可以分布式的快取到集群的其他的maptask中,就不需要reduce端join

開啟map端的區域性聚合 預設是開啟的

避免count(distinct)

進行join的時候避免笛卡兒積

適當的調整maptask的個數和reducetask的個數

測試資料在本地執行 沒有問題了再放到yarn上執行 使用指令碼來排程我們寫的sql語句—hive -f

資料傾斜產生的根本原因就是shuffle ,上游的資料到下游 ,可能會出現下游資料分發不均勻的這種情況

解決方法

1:重寫分割槽邏輯

2:重新設計key—>打散key

3:增加reduce 的個數

4:增加reduce的記憶體

5:先在map端進行區域性聚合 再到reduce端進行全域性聚合 會減少reduce端的壓力

6:將reduce的join變成map端的join

7:避免reduce能不要reduce就不要reduce

Hive企業級調優(五)

推測執行 在分布式集群環境下,因為程式bug 包括hadoop本身的bug 負載不均衡或者資源分布不均等原因,會造成同乙個作業的多個任務之間執行速度不一致,有些任務的執行速度可能明顯慢於其他任務 比如乙個作業的某個任務進度只有50 而其他所有任務已經執行完畢 則這些任務會拖慢作業的整體執行進度。為了...

Spark企業級應用開發和調優

spark專案程式設計優化歷程記錄,主要介紹了spark企業級別的開發過程中面臨的問題和調優方法。包含合理分配分片,避免計算中間結果 大資料量 的collect,合理使用map,優化廣播變數等操作,降低網路和磁碟io,提高計算效率。首先如下圖 2.1 spark應用開發在集群 偽分布式 中的記錄,每...

Spark企業級應用開發和調優

spark專案程式設計優化歷程記錄,主要介紹了spark企業級別的開發過程中面臨的問題和調優方法。包含合理分配分片,避免計算中間結果 大資料量 的collect,合理使用map,優化廣播變數等操作,降低網路和磁碟io,提高計算效率。首先如下圖 2.1 spark應用開發在集群 偽分布式 中的記錄,每...