hive 常见配置

//显示列名

set hive.cli.print.header=true;

//显示列名时,不带表名

set hive.resultset.use.unique.column.names=false;

 

 

//修改default数据仓库原始位置

 

Default数据仓库的最原始位置是在hdfs上的:/temp/user/hive/warehouse路径下。

修改default数据仓库原始位置(将hive-default.xml.template如下配置信息拷贝到hive-site.xml文件中)。

<property>

<name>hive.metastore.warehouse.dir</name>

<value>/user/hive/warehouse</value>

<description>location of default database for the warehouse</description>

</property>

配置同组用户有执行权限

$ bin/hdfs dfs -chmod g+w /user/hive/warehouse

 

//查询后信息显示配置

<property>

    <name>hive.cli.print.header</name>

    <value>true</value>

</property>

<property>

    <name>hive.cli.print.current.db</name>

    <value>true</value>

</property>

 

//Hive运行日志信息配置

Hivelog默认存放在/tmp/(当前用户名下)/hive.log目录下

修改/opt/module/hive/conf/hive-log4j.properties.template文件名称为hive-log4j.properties

$ mv hive-log4j.properties.template hive-log4j.properties

hive-log4j.properties文件中修改log存放位置

hive.log.dir=/opt/module/hive/logs

 

 

//非检查模式

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

 

// Hive中间结果压缩和压缩输出

SET hive.exec.compress.output = true; -- 默认false

SET hive.exec.compress.intermediate = true; -- 默认false

SET mapred.output.compression.codec = org.apache.hadoop.io.compress.SnappyCodec; -- 默认org.apache.hadoop.io.compress.DefaultCodec

SET mapred.output.compression.type = BLOCK; -- 默认BLOCK

 

// 输出合并小文件

SET hive.merge.mapfiles = true; -- 默认true,在map-only任务结束时合并小文件

SET hive.merge.mapredfiles = true; -- 默认false,在map-reduce任务结束时合并小文件

SET hive.merge.size.per.task = 268435456; -- 默认256M

SET hive.merge.smallfiles.avgsize = 16777216; -- 当输出文件的平均大小小于该值时,启动一个独立的map-reduce任务进行文件merge

 

// 设置map和reduce数量

SET mapred.max.split.size = 256000000;

SET mapred.min.split.size = 64000000;

SET mapred.min.split.size.per.node = 64000000;

SET mapred.min.split.size.per.rack = 64000000;

SET hive.input.format = org.apache.hadoop.hive.ql.io.CombineHiveInputFormat;

SET hive.exec.reducers.bytes.per.reducer = 256000000; -- 默认64M,每个reducer处理的数据量大小

 

// 设置数据倾斜和并行化

SET hive.exec.parallel = true; -- 并行执行

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

SET mapred.job.reuse.jvm.num.tasks = 10;

SET hive.exec.dynamic.partition = true;

SET hive.optimize.cp = true; -- 列裁剪

SET hive.optimize.pruner = true; -- 分区裁剪

SET hive.groupby.skewindata = true; -- groupby数据倾斜

SET hive.exec.mode.local.auto = true; --本地执行

SET hive.exec.mode.local.auto.input.files.max = 10; //map数默认是4,当map数小于10就会启动任务本地执行

SET hive.exec.mode.local.auto.inputbytes.max = 128000000 --默认是128M

 

//关闭以下两个参数来完成关闭Hive任务的推测执行

SET mapred.map.tasks.speculative.execution=false;

SET mapred.reduce.tasks.speculative.execution=false;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值