Hadoop学习之MapReduce

Posted 音译昌

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hadoop学习之MapReduce相关的知识,希望对你有一定的参考价值。

结构介绍

  • MapReduce是Hadoop提供的一种处理海量数据的并行编程模型和计算框架,用于对大规模的数据进行并行计算。主要由ResourceManager和NodeManager两类节点构成。
  • ResourceManager主要负责集群资源管理,NodeManager负责节点的资源管理。
  • 当运行MapReduce任务的时候,后产生ApplicationMaster和Container,其中ApplicationMaster负责向ResourceManager节点进行资源的申请并控制任务的执行,Container是最基本的资源单位。MapReduce的Map和Reduce均是其之上进行运行的。

MapReduce编程思想

  • MapReduce采用“分而治之”的思想。对大规模的数据集的操作分配给各子节点进行操作,然后通过整合子节点的中间结果得到最终结果。即“任务的分解和结果的汇总”。
  • Hadoop将这个工作高度抽象成为两个函数,分别为Map和Reduce。Map负责将任务分解为多个任务。Reduce负责将多个Map任务的中间结果合并为最终结果。在此过程中的其他步骤均由Hadoop的MapReduce框架自行负责处理,包括工作调度、任务分配和节点间通信等。

Hadoop数据类型

  • 继承接口Writable实现其方法write()和readFields(),以便该数据能被序列化后完成网络传输或文件输入/输出。
  • 如果该数据需要作为主键key使用或者需要比较值大小时,则需要实现WritableComparable接口,实现其方法write(),readFields(),CompareTo()。
类型 说明
BooleanWritable 标准布尔型数值
ByteWritable 单字节数值
DoubleWritable 双字节数值
FloatWritable 浮点数
IntWritable 整型数
LongWritable 长整型数
Text 使用UTF8格式存储的文本
NullWritable 当<key, value>中的key或value为空时使用

以上为Hadoop中关于MapReduce的一些介绍,具体正在学习ing...

以上是关于Hadoop学习之MapReduce的主要内容,如果未能解决你的问题,请参考以下文章

Hadoop学习之运行官方案例

大数据入门学习之Hadoop技术优缺点

Hadoop学习之MapReduce

大数据学习之Hadoop生态圈

Hadoop学习之Windows单机版安装

Hadoop学习之八MapReduce开发