Hadoop在什么情况下会在一个节点启动多个Map task或者Reduce task? 举报 理由 举报 取消 我知道每个datanode只会产生一个Mapper或者一个Reducer,这不是代表一个Map task或Reduce task吗? 2017年7月16日 2 条回复 759 次浏览 Hadoop,MapReduce,数据
回复 ( 2 )
假如你丛集只有3台机器当mapper
但是你有10个input splits
那么怎么可能一台只有一个map task
是不是?
你的电脑里只有一个记事本,
但不意味着你只能打开一个记事本。
mapper什么的只是作业程序,task是一个运行中的进程。
对于mr而言,要不要在一个datanode上来多个task,纯属调度去操心的事,jobtracker或者yarn会根据数据本身的分布特征以及集群的负载情况去分配task,然后这个步骤是对你透明的,几乎不用你操心。