Hive -- 使用本地模式的条件

为什么使用本地模式?

  大多数的Hadoop, Job是需要Hadoop提供的完整的可扩展性来处理大数据集的。有的时候 Hive的输入数据量是非常小的。在这种情况下,为查询触发执行任务的时间消耗可能会比实 际job的执行时间要多得多。对于大多数这种情况,Hive 可以通过本地模式在单台机器上(或 某些时候在单个进程中)处理所有的任务。对于小数据集,执行时间可以明显被缩短。  

 所以用户在执行过程中临时启用本地模式:(很明显执行效率加快)

hive.exec.mode.local.auto=true (默认是false)
hive.exec.mode.local.auto.inputbytes.max=134217728(默认是128M)
hive.exec.mode.local.auto.input.files.max=4(默认是4)

使用本地模式的条件(或者说一个job能使用本地模式的条件):

  • job的输入数据大小必须小于参数:hive.exec.mode.local.auto.inputbytes.max
  • job的map数必须小于参数:hive.exec.mode.local.auto.tasks.max
  • job的reduce数必须为0或者1

使用本地模式的好处:

  •   不使用本地模式:执行 insert into hive2 hbase select * from ip7_temp where id > 3445;

  • 使用本地模式:执行 insert into hive2 hbase select * from ip7_temp where id > 3445;

 

 很明显,使用本地模式的执行效率更高!!!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值