首页 >服务支持 > 中企之家 > 程序员 > 带你了解mapreduce

带你了解mapreduce

带你了解mapreduce

计算机编程是一门复杂的学问,但也不阻碍它仍有许多狂热追求者。在编程中,会有很多编程模型。编程模型,可以简单地理解为模板,遇到相似问题,程序员可以模板化解决,这样就减轻了程序员的工作负担。不同的编程环境和不同的应用对象,会有对应的不同的编程模型。今天我们来了解一下mapreduce这个编程模型,这是应用于大规模数据集群的并行运算。Map是映射,Reduce是化简。简单来说,这个模板的特性,是让不会分布式并行编程的人员,可以将程序运行在分布式系统上。

目录

1. 如何简单的理解mapreduce的应用

2. mapreduce的主要技术特征

3. mapreduce的其他技术特征

4. mapreduce和Spark的区别是什么

5. 初学mapreduce的常见问题

  • 如何简单的理解mapreduce的应用

    如何简单的理解mapreduce的应用

    mapreduce的应用理念其实很简单,就是把一些数据先通过map(映射)进行归类,再通过reducer把同一类的数据进行化简处理。我们可以理解为,mapreduce是基于两个哲学原理设计的,大而化小和异而化同。接收到很多复杂数据,我们第一步就会先把数据分类,这就是异而化同。分类之后再进行细项分割,把数据切分成小块后,就可以并发或者批量处理了,这就是大而化小。map的工作就是分类数据,然后输出,reducer接收到的都是同类数据再进行分割处理。

  • mapreduce的主要技术特征

    mapreduce的主要技术特征

    在了解过mapreduce的功能后,我们来了解一下mapreduce设计技术都有什么主要特征。1、因为mapreduce需要进行大规模的数据处理,并由大量的数据出错需求,所以在集群的构建上,我们要选择低端的商用服务器,由外横向扩展。2、使用的是低端的商用服务器,所以节点硬件失效是很常见的,因此设计的时候要考虑到不影响服务质量的高容错计算系统,并且在节点失效后能够自动加入加群。3、mapreduce会采用就近原则,将无法计算的数据转移传输到就近可以计算的节点,而不仅限于数据的处理。

  • mapreduce的其他技术特征

    mapreduce的其他技术特征

    除了刚才介绍的主要技术特征外,想要做好mapreduce设计,还要处理好以下三个方面。1、因为mapreduce需要大规模的处理数据,所以在内存中储存处理所有数据的难度很大,借助硬盘顺序访问处理的技术,可以大大提升处理速度。2、复杂度极高的编程其实对开发者的认知和判断造成了巨大的负担,而mapreduce要提供抽象机制,将程序员与系统层细节隔离开来,程序员仅需描述需要计算什么,具体如何计算可交由系统的执行框架处理。3、为了提升计算速度和数据处理规模,mapreduce的节点设计需要有很强的可扩展性。

  • mapreduce和Spark的区别是什么

    mapreduce和Spark的区别是什么

    对于很多刚接触编程的人来说,通常会无法完全理解mapreduce和spark的应用区别。首先我们应该明确,mapreduce是分布式运算的编程框架,而Spark可以兼容HDFS、Hive等,可以融入hadoop的系统。这两者的区别,主要表现在:1.spark基于内存的运算,要比mapreduce快100倍,基于硬盘的运算,要比mapreduce快10倍。2.spark支持流式、离线运算,而mapreduce则只支持离线运算。3.mapreduce必须运行在资源系统上,而spark本身集成资源调度,可以运行在自身的Master、worker或者yarn上。

  • 初学mapreduce的常见问题

    初学mapreduce的常见问题

    不管怎样,想要真正学会、理解、应用一种编程方式,都不是容易的事情。对于mapreduce初学者来说,经常会问,mapreduce的输入源可以是视图吗?答案是,这是不可以的,只能是表,这样把结果写入到表或分区时,才会覆盖掉原有的数据。除此之外,初学者还应该了解到Mapper中输入的每条Record数据,可以按序号读取,也可以按照列名来获取record,但是reduce.setup不能读入输入表,只能读cache table。mapreduce在执行时,不可以调用shell文件,会被沙箱阻挡。如果还想要了解更多关于mapreduce的常见问题,建议初学者可以多看一些文档。

img

在线咨询

建站在线咨询

img

微信咨询

扫一扫添加
动力姐姐微信

img
img

TOP