一、为什么要用MapReduce?

  首先MapReduce被广泛应用于日志分析、海量数据的排序、在海量数据中查找特定模式等 场景。而且它非常简单,易于实现且扩展性强。可以通过它编写同事在多台主机上运行的程序,可以使用Python/PHP/C++等非java类语言编写map或reduce程序。还可以在任何安装Hadoop的集群中运行同样的程序,不论这个集群有多少台主机。

二、MapReduce计算模型

  在Hadoop中,用于执行MapReduce任务的机器角色有两个:

一个是JobTracker,另一个是TaskTracker。JobTracker是用于调度工作的,TaskTracker是用于执行工作的。而一个Hadoop集群中只有一台JobTracker。

三、MapReduce的Job

  在Hadoop中,每个MapReduce任务都被初始化为一个job,每个job又可以分为两个阶段:map阶段和reduce阶段。这两个阶段分别用两个函数来表示,也就是map函数和reduce函数。

  map函数接受<key,list of value>形式的输入,然后对value集合进行处理。

  reduce 函数产生0或1个输出。reduce的输出格式也是<key,value>形式的。

相关文章:

  • 2023-01-16
  • 2021-06-15
  • 2021-12-16
  • 2021-11-22
  • 2021-04-07
  • 2022-01-01
  • 2021-08-09
  • 2021-09-18
猜你喜欢
  • 2021-08-28
  • 2022-12-23
  • 2021-10-30
  • 2021-05-02
  • 2022-01-07
  • 2022-01-21
  • 2021-08-01
相关资源
相似解决方案