hive避免进行MapReduce过程的几种情形

question:

hive一般情况下,会触发MapReduce任务进行查询,那么什么情况下可以不必使用MapReduce进行查询呢?


answer:

本地模式下,hive可以避免进行MapReduce(查询速度相对而言更快)。

例如:

1、select * from emp(表名);

2、只过滤字段(列)的select语句:

对于where语句中过滤条件只是区分字段(列)这种情况,无论是否使用limit语句限制输出记录条数,也是无需MapReduce过程的

select *  from emp where country=“CH” and state = “BJ” limit 100;

3、如果属性hive.exec.mode.local.auto 的值设置为true的话,hive 还是会尝试使用本地模式执行其他的操作:

set  hive.exec.mode.local.auto = true;

最好将set hive.exec.mode.local.auto = true;这个设置增加到$HOME/.hiverc 配置文件中。

其余情况,hive 将使用MapReduce来执行查询任务。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值