hadoop系列: hive優化篇

  • hive優化: 表設計, mr作業

linux系統下, 在用戶當前目錄創建配置文件~/.hiverc, 加入配置參數

#顯示頭,db: 
set hive.cli.print.current.db=true ; 
set hive.cli.print.header=true ;

part1: 本地模式

#本地模式:
set hive.exec.mode.local.auto=true ;
set hive.exec.mode.local.auto.input.files.max=10 ; #[最大文件數]
set hive.exec.reducers.bytes.per.reducer=134217728 ; #[默認128MB]

part2: 使用壓縮+並行處理+查詢優化

#使用壓縮: 輸出文件壓縮 	
SET hive.exec.compress.output=true ;
set mapred.output.compression.codec='類名' ;
SET io.seqfile.compression.type=BLOCK ;	
set hive.exec.compress.intermediate=true ;#[中間壓縮]

#並行處理 +jvm重用
 set hive.exec.parallel=true ;
 set hive.exec.parallel.thread.number=8 ; #[默認]
 set mapred.job.reuse.jvm.num.tasks=1 ;#[默認]

#join查詢優化: map端join[大表+小表]
#0.7之前:
set hive.auto.convert.join=true ; 
#0.7之後:
set hive.mapjoin.smalltable.filesize=大小 ;
set hive.auto.convert.join=true ;

#熱點數據優化: 	
set hive.groupby.skewindata=true ; 
set hive.optimize.skewjoin=true ;

part3 : 設計優化與分析

表設計優化 分區表+ 桶表
存儲優化 列式存儲(orc, rcfile, parquet)行式存儲(sequencefile)
分區計算 analyze【表 [分區] compute statics】
跟蹤job explain 【sql 語句】
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章