1.mapreduce定义和优缺点?
定义:
MapReduce是一个分布式运算程序的编程框架,是用户开发“基于Hadoop的数据分析应用”的核心框架。MapReduce的核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并发运行在一个Hadoop集群上。
优点:
(1)MapReduce易于编程
(2)良好的扩展性
(3)高容错性
(4)适合PB级以上海量数据的离线处理
缺点:
(1)不擅长实时计算
(2)不擅长流式计算
(3)不擅长DAG(有向图)计算
2.mapreduce的数据类型
常用的数据类型对应的Hadoop数据序列化类型
String --> Text
Long --> LongWritable
Int --> IntWritable
Byte --> ByteWritable
Float --> FloatWritable
Double --> DoubleWritable
Boolean --> BooleanWritable
Map --> MapWritable
Array --> ArrayWritable
3.MapReduce的核心编程思想

1)分布式的运算程序往往需要分成至少2个阶段
2)第一个阶段的MapTask并发实例,完全并行运行,互不相干
3)第二个阶段的ReduceTask并发实例互不相干,但是他们的数据依赖于上一个阶段的所有MapTask并发实例的输出
4)MapReduce编程模型只能包含一个Map阶段和一个Reduce阶段,如果用户的业务逻辑非常复杂,那就只能多个MapReduce程序,串行运行。
4.MapReduce进程
一个完整的MapRed

MapReduce是Hadoop的核心框架,用于大数据离线处理。其优点包括易于编程、良好扩展性和高容错性,但不适合实时、流式和DAG计算。MapReduce编程涉及Map和Reduce阶段,Map阶段解析数据,Reduce阶段进行汇总计算。WordCount案例展示了如何利用MapReduce统计词频,通过Map和Reduce任务实现分布式并行处理。
最低0.47元/天 解锁文章
2547

被折叠的 条评论
为什么被折叠?



