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 语句】
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章