hive_sql优化

36 篇文章 0 订阅
28 篇文章 0 订阅
-- 优化时间计算导致的资源消耗 --

-- 优化hive性能:tez,spark,lmpala,mapreduce; 矢量化--
set hive.execution.engine = spark;

set hive.vectorized.execution.enabled = true;
set hive.vectorized.execution.reduce.enabled = true;

set hive.exec.parallel = true;
set hive.limit.optimize.enable = true;

-- mr 优化 --
set mapred.reduce.tasks = 300;
set hive.auto.convert.join = true;

-- 数据倾斜 --
set hive.optimize.skewjoin = true;
-- hive建表 经验设置
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;
set mapred.reduce.tasks=200;
set mapreduce.reduce.shuffle.memory.limit.percent=0.10;
set yarn.nodemanager.pmem-check-enabled=false;
set yarn.nodemanager.vmem-check-enabled=false;
set mapreduce.map.memory.mb=3072;
set mapreduce.reduce.memory.mb=3072;
-- hive当前时间转化为:'20180425'
WHERE pt = from_unixtime(unix_timestamp(date_sub(from_unixtime(unix_timestamp(),'yyyy-MM-dd'),1),'yyyy-MM-dd'),'yyyyMMdd')
-- hive在shell上执行
-- hive_data.sh

table_name='t_news'
tt=$(date -d '-3 days' +%Y%m%d) --'20180422'

hive(gohive) -e "select * from ${table_name} limit 5;" -- method_1

hive(gohive) -hiveconf table_name='t_news' -f news.sql -- method_2
-- news.sql: select * from ${hiveconf: table_name} limit 5;
# linux_shell注意事项:
# 变量赋值‘等号’两边不能有空格,要紧挨;
# 变量存在的语句一定使用双引号,而不能用单引号;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值