這篇文章主要為大家展示了“Hive優(yōu)化的方法有哪些”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“Hive優(yōu)化的方法有哪些”這篇文章吧。
龍山ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)建站的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:028-86922220(備注:SSL證書合作)期待與您的合作!
一、整體架構(gòu)優(yōu)化
現(xiàn)在hive的整體框架如下,計算引擎不僅僅支持Map/Reduce,并且還支持Tez、Spark等。根據(jù)不同的計算引擎又可以使用不同的資源調(diào)度和存儲系統(tǒng)。
整體架構(gòu)優(yōu)化點:
1、根據(jù)不同業(yè)務(wù)需求進(jìn)行日期分區(qū),并執(zhí)行類型動態(tài)分區(qū)。
相關(guān)參數(shù)設(shè)置:
0.14中默認(rèn)hive.exec.dynamic.partition=ture
2、為了減少磁盤存儲空間以及I/O次數(shù),對數(shù)據(jù)進(jìn)行壓縮
相關(guān)參數(shù)設(shè)置:
job輸出文件按照BLOCK以Gzip方式進(jìn)行壓縮。
1 2 3 |
|
map輸出結(jié)果也以Gzip進(jìn)行壓縮。
1 2 |
|
對hive輸出結(jié)果和中間結(jié)果進(jìn)行壓縮。
1 2 |
|
3、hive中間表以SequenceFile保存,可以節(jié)約序列化和反序列化的時間
相關(guān)參數(shù)設(shè)置:
hive.query.result.fileformat=SequenceFile
4、yarn優(yōu)化,在此不再展開,后面專門介紹。
二、MR階段優(yōu)化
hive操作符有:
執(zhí)行流程為:
reduce切割算法:
相關(guān)參數(shù)設(shè)置,默認(rèn)為:
hive.exec.reducers.max=999
hive.exec.reducers.bytes.per.reducer=1G
reduce task num=min{reducers.max,input.size/bytes.per.reducer},可以根據(jù)實際需求來調(diào)整reduce的個數(shù)。
三、JOB優(yōu)化
1、本地執(zhí)行
默認(rèn)關(guān)閉了本地執(zhí)行模式,小數(shù)據(jù)可以使用本地執(zhí)行模式,加快執(zhí)行速度。
相關(guān)參數(shù)設(shè)置:
hive.exec.mode.local.auto=true
默認(rèn)本地執(zhí)行的條件是,hive.exec.mode.local.auto.inputbytes.max=128MB, hive.exec.mode.local.auto.tasks.max=4,reduce task最多1個。 性能測試:
數(shù)據(jù)量(萬) 操作 正常執(zhí)行時間(秒) 本地執(zhí)行時間(秒)
170 group by 36 16
80 count 34 6
2、mapjoin
默認(rèn)mapjoin是打開的, hive.auto.convert.join.noconditionaltask.size=10MB
裝載到內(nèi)存的表必須是通過scan的表(不包括group by等操作),如果join的兩個表都滿足上面的條件,/*mapjoin*/指定表格不起作用,只會裝載小表到內(nèi)存,否則就會選那個滿足條件的scan表。
四、SQL優(yōu)化
整體的優(yōu)化策略如下:
去除查詢中不需要的column
Where條件判斷等在TableScan階段就進(jìn)行過濾
利用Partition信息,只讀取符合條件的Partition
Map端join,以大表作驅(qū)動,小表載入所有mapper內(nèi)存中
調(diào)整Join順序,確保以大表作為驅(qū)動表
對于數(shù)據(jù)分布不均衡的表Group by時,為避免數(shù)據(jù)集中到少數(shù)的reducer上,分成兩個map-reduce階段。第一個階段先用Distinct列進(jìn)行shuffle,然后在reduce端部分聚合,減小數(shù)據(jù)規(guī)模,第二個map-reduce階段再按group-by列聚合。
在map端用hash進(jìn)行部分聚合,減小reduce端數(shù)據(jù)處理規(guī)模。
五、平臺優(yōu)化
1、hive on tez
2、spark SQL大趨勢
以上是“Hive優(yōu)化的方法有哪些”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
分享題目:Hive優(yōu)化的方法有哪些
當(dāng)前路徑:http://jinyejixie.com/article48/ggisep.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站設(shè)計、定制開發(fā)、網(wǎng)頁設(shè)計公司、小程序開發(fā)、App開發(fā)、網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)