思考:某个MapReduce程序,到底有多少个Map Task和reduceTask
mapTask:
要处理的数据放在HDFS上,有多少个Block就有几个Maptask,一个block被一个MapTask处理。
reduceTask:
自己编写MapReduce程序,自己设定
hive:下面3个参数决定
设置每个reduceTask处理的数据量
在hive cli中执行hql控制台会打印一下日志信息
In order to change the average load for a reducer (in bytes):
set hive.exec.reducers.bytes.per.reducer=
默认:256000000 =256M
限制一个MapReduce程序,Reduce Task最大数量
In order to limit the maximum number of reducers:
set hive.exec.reducers.max=
默认值:1009
表示reduce的个数
In order to set a constant number of reducers:
set mapreduce.job.reduces=
默认:-1
我们可以在hive-site.xml中
默认reduce的任务个数
<property>
<name>mapreduce.job.reduces</name>
<value>5</value>
</property>
。。。其他类似