Hadoop MapReduce 概述

Hadoop中的MapReduce是一种编程模型,用于大规模数据集的并行运算
在这里插入图片描述
下面的连接是我的MapReduce系列博客~配合食用效果更佳!


一、MapReduce学习思维导图

在这里插入图片描述

二、MapReduce定义

MapReduceHadoop的一个分布式(多台机器)运算程序的编程框架,也是Hadoop的核心框架

如果让我们用程序实现一个多台机器并发计算的程序,我们可能需要关心到数据传输、如何并发等很多底层的问题,MapReduce为我们提供了一系列的框架,我们可以直接调用

MapReduce核心功能是将用户编写的业务逻辑代码自带默认组件整合成一个完整的分布式运算程序,并发运行在一个Hadoop集群上

综上所述:MapReduce = 自己写的业务逻辑代码 + 它自身默认的底层代码

三、MapReduce的优缺点

1、优点

  • 易于编程:因为MapReduce已经封装好了底层代码,我们只需要关心业务逻辑代码,实现框架的接口就好了
  • 有良好的扩展性:如果服务器资源枯竭,可以动态增加服务器,解决计算资源不够的问题
  • 高容错性:任何一台机器挂掉,都可以将任务转移到其他节点
  • 适合海量数据计算:TB/PB级别,几千台服务器共同计算

2、缺点

当然因为MapReduce把中间结果存放在了硬盘,所以它不适合用于:

  • 不适用于实时计算
  • 不擅长流式计算(Spark Streaming、Flink适合)
  • 不擅长DAG有向无环图计算

版权声明:本文为lesileqin原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。