文章标题

来源:互联网 发布:大数据销售 编辑:程序博客网 时间:2024/05/01 00:38

hive脚本设置头部参数以此来优化脚本,参数如下:

--对于简单的列查询开启下面的设置就不需要走MR--例如SELECT id, money FROM m limit 10;(Hive0.10.0)set hive.fetch.task.conversion=more;--设置表头set hive.cli.print.header=true;--设置reducer的最大数量set hive.exec.reducers.max=100;--不启动压缩set hive.exec.compress.output=false;set hive.exec.compress.intermediate=true;--分割block块的划分set mapred.max.split.size=1000000000;set mapred.min.split.size.per.node=1000000000;set mapred.min.split.size.per.rack=1000000000;--(开启map端combiner);set hive.map.aggr=true--这个参数的作用是做reduce操作的时候,拿到的key并不是所有相同值给同一个Reduce,而是随机分发,--然后reduce做聚合,做完之后再做一轮MR,拿前面聚合过的数据再算结果。--虽然多了一轮MR任务,但是可以有效的减少数据倾斜问题可能带来的危险。set hive.groupby.skewindata=true;--小表关联大表是,将小表放在内存中,一般建议将小表放在join的左侧set hive.auto.convert.join=true;--MR使用udp队列set mapred.job.queue.name=udp;--开启分区表动态插入数据set hive.exec.dynamic.partition=true;--设置为非严格模式set hive.exec.dynamic.partition.mode=nonstrict;set hive.exec.max.dynamic.partitions.pernode=1000;--设置为严格模式 作用查询的时候  如果分区表 查询时 where后面没有加 分区的限制条件  提交时将不会成功--set hive.mapred.mode=strict;(严格模式)--set hive.mapred.mode=strict;(非严格模式)
0 0
原创粉丝点击