五分钟深入 Hadoop 内核.doc


立即下载 布偶的表弟派大星丶
2024-03-27
Hadoop 用户 mapper function JobTracker 运行 reducer class 告诉 jar
230.5 KB

前一篇系列文章 <五分钟零基础理解 Hadoop> 介绍了 Hadoop 到底是怎么回事。下面几篇文章介绍 Hadoop 的核心框架, 为后面讨论 Hadoop 面试题打好基础!
回顾
上篇文章我们说到,Hadoop 的工作下图所示,负责把 mapper function 装载到要运行 mapper 的机器上,然后执行 mapper function,之后负责把 mapper 的结果 shuffle 到要运行 reducer 的机器上,下载 reducer 运行得到最终结果。
那么下面,我们就通过学习 Hadoop 的 component 架构,来理解 Hadoop 是怎么做到这几步的。
架构
JobTracker
我们上面说了:Hadoop 是一个很强大的 Framework, 那用户怎么使用呢?Hadoop 提供了一个叫做 JobTracker 的 component, 去等待用户提交的Hadoop 任务。
具体说来, 用户告诉 JobTracker 要运行什么 mapper function 和 reducer function, 这个非常 make sense 对不对?Hadoop 就是要帮助用户运行mapper 和 reducer, 不知道他们是什么样的怎么行?
那 Mapper 和 Reducer 长什么样呢?
我们用 Java 举例:用户需要用一个 class 实现 Hadoop 定义的 Mapper 接口,用户在这个 class 里提供 mapper function 的具体实现(当然 Hadoop 也支持别的语言),同样的 reducer function 也是用户实现 Reducer 接口的 class.
既然是 java, 这两个 class 就会存在 jar 中,所以用户要告诉 JobTracker 这个 jar 的路径是什么,也要告诉这个 jar 里,哪个 class 是 mapper, 哪个是 reducer. 只有这样,JobTracker 才能帮助用户把 mapper function 和 reducer function 部署到要运行的机器上。
除此之外,用户还要告诉 JobTracker 要处理的数据在哪里。实际上,数据存储使用的是 HDFS 文件系统。我们之后会为大家详细介绍,这里请大家把 HDFS 想象成


Hadoop/用户/mapper/function/JobTracker/运行/reducer/class/告诉/jar/ Hadoop/用户/mapper/function/JobTracker/运行/reducer/class/告诉/jar/
-1 条回复
登录 后才能参与评论
-->