hive中通用调优-fetch抓取-mr本地模式

本文探讨了Hive的fetch抓取机制如何减少MR使用,通过设置`hive.fetch.task.conversion`和`hive.exec.mode.local.auto`来控制全局查找、字段查找和limit查找是否走MR。同时介绍了mr本地模式和自动切换条件,帮助理解如何提升查询性能和数据处理效率。

        Fetch抓取机制:在执行SQL的时候,能不走mr就不走mr,尽量直接去操作数据文件。

        参数设置:hive.fetch.task.conversion= more。

        通常情况下,全局查找,字段查找,limit查找都不走mr程序。

--在下述3种情况下 sql不走mr程序

--全局查找
select * from student;
--字段查找
select num,name from student;
--limit 查找
select num,name from student limit 2;

        mr本地模式:如果非要执行mr,能够执行本地的就不要提交yarn执行,默认是关闭的,意味着只要走mr就提交到yarn。

        参数设置为:

        mapreduce.framework.name = local 本地模式
        mapreduce.framework.name = yarn 集群模式 

        hive提供了一个参数,自动切换mr程序为本地模式,如果不满条件,就执行yarn模式。

set hive.exec.mode.local.auto = true;
 
--3个条件必须都满足 自动切换本地模式
The total input size of the job is lower than: hive.exec.mode.local.auto.inputbytes.max (128MB by default)  --数据量小于128M

The total number of map-tasks is less than: hive.exec.mode.local.auto.tasks.max (4 by default)  --maptask个数少于4个

The total number of reduce tasks required is 1 or 0.  --reducetask个数是0 或者 1

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值