Hive本地mr

本文介绍在Hive中如何通过调整配置参数启用本地MapReduce模式,以提高小规模数据查询的执行效率。当输入数据量及文件数量符合一定条件时,此模式能够显著减少任务执行时间。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果在hive中运行的sql本身数据量很小,那么使用本地mr的效率要比分布式的快很多。。

比如:

 

		hive> select 1 from dual;
		Total MapReduce jobs = 1
		Launching Job 1 out of 1
		Number of reduce tasks is set to 0 since there's no reduce operator
		Starting Job = job_201208151631_2040444, Tracking URL = http://jt.dc.sh-wgq.sdo.com:50030/jobdetails.jsp?jobid=job_201208151631_2040444
		Kill Command = /home/hdfs/hadoop-current/bin/hadoop job  -Dmapred.job.tracker=10.133.10.103:50020 -kill job_201208151631_2040444
		2012-10-23 10:55:17,646 Stage-1 map = 0%,  reduce = 0%
		2012-10-23 10:55:27,807 Stage-1 map = 100%,  reduce = 0%
		Ended Job = job_201208151631_2040444
		OK
		1
		Time taken: 17.853 seconds

set hive.exec.mode.local.auto=true; //开启本地mr

//设置local mr的最大输入数据量,当输入数据量小于这个值的时候会采用local mr的方式

set hive.exec.mode.local.auto.inputbytes.max=50000000;

//设置local mr的最大输入文件个数,当输入文件个数小于这个值的时候会采用local mr的方式

set hive.exec.mode.local.auto.tasks.max=10;

当这三个参数同时成立时候,才会采用本地mr

		hive> select 1 from dual;             
		Total MapReduce jobs = 1
		Launching Job 1 out of 1
		Number of reduce tasks is set to 0 since there's no reduce operator
		Execution log at: /tmp/liuxiaowen/liuxiaowen_20121023105757_31c966be-ee79-4c23-a467-648290b338ac.log
		Job running in-process (local Hadoop)
		2012-10-23 10:58:03,728 null map = 100%,  reduce = 0%
		Ended Job = job_local_0001
		OK
		1
		Time taken: 4.842 seconds
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值