天天看点

HIVE参数调优(汇总)

//设置自动mapjoin 为false

set hive.auto.convert.join=false;

set hive.ignore.mapjoin.hint=false

//关闭严格模式

set hive.exec.dynamic.partition.mode=nonstrict;

set hive.mapred.mode=nonstrict;

//设置压缩格式-gzip

set hive.exec.compress.output=true;

set mapred.output.compress=true;

set mapred.output.compression.codec=org.apache.hadoop.io.compress.GzipCodec;

set io.compression.codecs=org.apache.hadoop.io.compress.GzipCodec;

//设置压缩格式-lzo

set hive.exec.compress.output=true;

set mapred.output.compress=true;

set mapred.output.compression.codec=com.hadoop.compression.lzo.LzoCodec;

set io.compression.codecs=com.hadoop.compression.lzo.LzoCodec;

//数据倾斜

set hive.map.aggr=true; // map端聚合

set hive.optimize.skewjoin=true;

set hive.groupby.skewindata=true;

//排序内存溢出问题

set mapreduce.task.io.sort.mb=10;

set hive.groupby.mapaggr.checkinterval=100000;
           

// join 内存溢出时设置

set mapred.child.java.opts=-Xmx512m;

//设置任务数

set mapred.reduce.tasks=10;

//元数据:嵌套SQL并行执行优化:

set hive.exec.parallel=true;

set hive.exec.parallel.thread.number=16;

mapreduce.reduce.shuffle.memory.limit.percent:

默认值: 0.25

说明:一个单一的shuffle的最大内存使用限制(可调整为0.1)。

set mapred.max.split.size=1000000;

参考

  • 那些年使用Hive踩过的坑
  • Hive性能优化
  • hive参数调优汇总
  • 数据分析利器之hive优化十大原则

继续阅读