Mapreduce自学(9-12没看懂)

MapReduce非常简单,易于实现且扩展性强。可以通过它轻易地编写出同
时在多台主机上运行的程序,可以使用 Ruby、Python、PHP 和 C++等非 Java类
语言编写 map和 reduce程序。MapReduce适合于处理大量的数据集,因为它会
同时被多台主机一起处理,这样通常会有较快的速度。


在 Hadoop 中,用于执行 MapReduce任务的机器角色有两个:一个是
JobTracker;另一个是 TaskTracker。JobTracker 是用于调度工作的,TaskTracker
是用于执行工作的。一个 Hadoop集群中只有一台 JobTracker。在 hadoop 中,
每个 MapReduce任务都被初始化为一个 Job,每个 Job又可以分为两个阶段:
map阶段和 reduce阶段。


Hadoop 中数据处理核心是 MapReduce 程序设计模型。一个 Map/Reduce 作
业(job) 通常会把输入的数据集切分为若干数据块,对于独立的数据块,由
map任务(task)以完全并行的方式处理它们。框架会对 map的输出先进行排
序, 然后把结果输入给 reduce任务。通常作业的输入和输出都会被存储在文件
系统中。因此,编程主要是 mapper阶段和 reducer阶段

猜你喜欢

转载自blog.csdn.net/niuxikun/article/details/107716371