1:MapReduce定义
是一个分布式运算程序的编程框架,将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并发运行在一个Hadoop集群上。
2:MapReduce优缺点
优点1:易于编程。用户只关心业务逻辑,实现框架的接口即可。
2:良好的扩展性。可以动态的增加服务器,解决计算资源不够的问题。
3:高容错性。任何一台机器挂掉,可以将任务转移到其他节点。
4:适合海量数据的计算。可以实现上千台服务器并行工作。
缺点1:不擅长实时计算。不能在毫秒级之内返回结果。
2:不擅长流式计算。 输入的数据是静态的,放在那里基本保持不变的。反之是实时计算,实时计算就是来一条数据,进行处理,再来一条在进行处理。
3:不擅长有向无环图计算。但是能做。有向无环图计算,就类似于前一个程序的运行输出结果作为后一个程序运行的输入结果。
3:MapReduce核心思想

4:MapReduce进程
1:MrAppMaster:负责整个程序的过程调度及状态协调
2:MapTask:负责Map阶段的整个数据处理流程
3:ReduceTask:负责Reduce阶段的整个数据处理流程
5:MapReduce编程规范
分为Mapper、Reducer 和 Driver三个阶段。
1:Mapper阶段
1:用户自定义的Mapper要继承自己的父类
2:输入数 据是KV对的形式,假如说进来一个单词,K为这行的偏移量,V是这行的内容
3:Mapper中的业务逻辑写在map()方法中
4:Mapper的输出数据是KV对的形式

最低0.47元/天 解锁文章
1008





