mapreduce知识点
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
mapreduce知识点
MapReduce是一个分布式计算框架,采用分而治之的思想,将一项复杂的计算任务切分成多个小的任务,分别交给不同的服务器上并行执行,最终再汇总每个小任务的结果。
MapReduce由两个阶段组成:Map阶段和Reduce阶段。
MapReduce的优点包括:
1. 易于编程:通过简单的实现一些接口,就可以完成一个分布式程序,使编程变得简单。
2. 良好的扩展性:可以通过简单的增加机器来扩展计算能力。
3. 高容错性:假设集群中一台机器挂了,可以把上面的计算任务转移到另一个节点上运行,不至于任务失败。
4. 适合PB级以上海量数据的离线处理:集群中的服务器可以并发工作,数据处理能力强。
然而,MapReduce也存在一些缺点:
1. 不擅长实时计算:无法像一些OLTP数据库一样,在毫秒或者秒级内返回结果。
2. 不擅长流式计算:流式计算的输入数据是动态的,而MapReduce的输
入集数据是静态的,不能动态变化。
3. 不擅长DAG有向图计算:应用程序之间存在依赖关系,前一个应用的输出作为下一个应用的输入,这种情况下MapReduce不是不能做到,而是使用后,MapReduce作业的输出结果都要写入到磁盘,造成大量的磁盘IO,很影响性能。
以上内容仅供参考,如需更多信息,建议查阅相关文献或咨询专业人士。