1、client提交数据到DFS,然后被分为多个split,然后通过inputformatter以key-value传给jobTraker,jobTraker分排工作给多个map(taskTraker),工程师重写map,在各个taskTraker上分别执行代码任务,做到数据不动,代码动。真正实现代码分布式。
2、tasktraker执行完代码后,将结果通过上下文收集起来,再传给reduce(也是taskTraker),经过排序等操作,再执行工程师重写的reduce方法,最终将结果通过outputFormatter写到DFS。