Hadoop mapreduce 浑身都是芝士点

一 使用mapreduce实现分布式计算

1.什么事mapreduce?

源于google 的mapreduce 论文发表 Hadoop mapreduce 是Google mapreduce 的克隆版。

优点 易于编程

  内部负责的操作,都是由框架本身去完成的,留给我们开发的内容少之又少(逻辑)

2.良好的扩展性:

 

 随着我们业务或者需求的增加,集群的存储能力或者计算能力,又可能下降,这样我们可以通过增加集群的节点来解决

 

 

JobTracker:工作跟踪者

 

管理所有的作业job,存储在master节点上

 

将作业分解成一系列的任务

 

将任务指派给TaskTracker

 

作业/任务监控,错误处理等

 

TaskTracker

存在slave节点上

运行Map TaskReduce Task

JobTracker交互,执行命令,汇报任务状态(心跳)

 

 

mapreduce 编程模型

input就是我们需要计算的海量数据文件

Splitting,就是把数据分割成一片一片的数据

mapping:就是计算每片数据的文件

Combiner:Combinder 对一个输出作用就是在map端做一次合并,减少本地磁盘10

Final result: 把最终的结果输出到HDFS文件系统中

Reducing:把Shuffing的数据进行汇总

思想就是分而治之

MapReduce的思想就是“分而治之

 

 

***********map 

就是“分”将复杂的数据分解成若干个,“简单的任务去执行”

可以并行计算,彼此之间没有依赖关系

reducer 就是负责对“合”汇总

reducer的数目是由mapred-site.xml配置文件中的mapred.reduce.tasks决定的)所以这些都是mapreduce机制帮我们做出来的 计算

 

.WordCount案例解析

 

Hadoop数据类型:

IntWritable hadoop中的基本数据类型!整型数!

LongWritable:长整型数

FloatWritable:浮点数

DoubleWritable:双字节数

ByteWritable:单字节,对应byte类型

BytesWritable:字节数组,对应byte[]

 

posted @ 2018-12-20 10:35  liuzhe01  阅读(247)  评论(0编辑  收藏  举报