问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

什么是Map/Reduce-Mapreduce-about云开发

发布网友 发布时间:2022-03-23 00:27

我来回答

1个回答

热心网友 时间:2022-03-23 01:57

什么是Map/Rece,看下面的各种解释:

  (1)MapRece是hadoop的核心组件之一,hadoop要分布式包括两部分,一是分布式文件系统hdfs,一部是分布式计算框,就是maprece,缺一不可,也就是说,可以通过maprece很容易在hadoop平台上进行分布式的计算编程。

  (2)Maprece是一种编程模型,是一种编程方法,抽象理论。

  (3)下面是一个关于一个程序员是如何个妻子讲解什么是MapRece?文章很长请耐心的看。

  我问妻子:“你真的想要弄懂什么是MapRece?” 她很坚定的回答说“是的”。 因此我问道:

  我: 你是如何准备洋葱辣椒酱的?(以下并非准确食谱,请勿在家尝试)

  妻子: 我会取一个洋葱,把它切碎,然后拌入盐和水,最后放进混合研磨机里研磨。这样就能得到洋葱辣椒酱了。

  妻子: 但这和MapRece有什么关系?

  我: 你等一下。让我来编一个完整的情节,这样你肯定可以在15分钟内弄懂MapRece.

  妻子: 好吧。

  我:现在,假设你想用薄荷、洋葱、番茄、辣椒、大蒜弄一瓶混合辣椒酱。你会怎么做呢?

  妻子: 我会取薄荷叶一撮,洋葱一个,番茄一个,辣椒一根,大蒜一根,切碎后加入适量的盐和水,再放入混合研磨机里研磨,这样你就可以得到一瓶混合辣椒酱了。

  我: 没错,让我们把MapRece的概念应用到食谱上。Map和Rece其实是两种操作,我来给你详细讲解下。
  Map(映射): 把洋葱、番茄、辣椒和大蒜切碎,是各自作用在这些物体上的一个Map操作。所以你给Map一个洋葱,Map就会把洋葱切碎。 同样的,你把辣椒,大蒜和番茄一一地拿给Map,你也会得到各种碎块。 所以,当你在切像洋葱这样的蔬菜时,你执行就是一个Map操作。 Map操作适用于每一种蔬菜,它会相应地生产出一种或多种碎块,在我们的例子中生产的是蔬菜块。在Map操作中可能会出现有个洋葱坏掉了的情况,你只要把坏洋葱丢了就行了。所以,如果出现坏洋葱了,Map操作就会过滤掉坏洋葱而不会生产出任何的坏洋葱块。

  Rece(化简):在这一阶段,你将各种蔬菜碎都放入研磨机里进行研磨,你就可以得到一瓶辣椒酱了。这意味要制成一瓶辣椒酱,你得研磨所有的原料。因此,研磨机通常将map操作的蔬菜碎聚集在了一起。

  妻子: 所以,这就是MapRece?

  我: 你可以说是,也可以说不是。 其实这只是MapRece的一部分,MapRece的强大在于分布式计算。

  妻子: 分布式计算? 那是什么?请给我解释下吧。

  我: 没问题。

  我: 假设你参加了一个辣椒酱比赛并且你的食谱赢得了最佳辣椒酱奖。得奖之后,辣椒酱食谱大受欢迎,于是你想要开始出售自制品牌的辣椒酱。假设你每天需要生产10000瓶辣椒酱,你会怎么办呢?

  妻子: 我会找一个能为我大量提供原料的供应商。

  我:是的..就是那样的。那你能否独自完成制作呢?也就是说,独自将原料都切碎? 仅仅一部研磨机又是否能满足需要?而且现在,我们还需要供应不同种类的辣椒酱,像洋葱辣椒酱、青椒辣椒酱、番茄辣椒酱等等。

  妻子: 当然不能了,我会雇佣更多的工人来切蔬菜。我还需要更多的研磨机,这样我就可以更快地生产辣椒酱了。
  我:没错,所以现在你就不得不分配工作了,你将需要几个人一起切蔬菜。每个人都要处理满满一袋的蔬菜,而每一个人都相当于在执行一个简单的Map操作。每一个人都将不断的从袋子里拿出蔬菜来,并且每次只对一种蔬菜进行处理,也就是将它们切碎,直到袋子空了为止。
  这样,当所有的工人都切完以后,工作台(每个人工作的地方)上就有了洋葱块、番茄块、和蒜蓉等等。

  妻子:但是我怎么会制造出不同种类的番茄酱呢?

  我:现在你会看到MapRece遗漏的阶段—搅拌阶段。MapRece将所有输出的蔬菜碎都搅拌在了一起,这些蔬菜碎都是在以key为基础的 map操作下产生的。搅拌将自动完成,你可以假设key是一种原料的名字,就像洋葱一样。 所以全部的洋葱keys都会搅拌在一起,并转移到研磨洋葱的研磨器里。这样,你就能得到洋葱辣椒酱了。同样地,所有的番茄也会被转移到标记着番茄的研磨器里,并制造出番茄辣椒酱。

  (4)上面都是从理论上来说明什么是MapRece,那么咱们在MapRece产生的过程和代码的角度来理解这个问题。
  如果想统计下过去10年计算机论文出现最多的几个单词,看看大家都在研究些什么,那收集好论文后,该怎么办呢?

  方法一:
  我可以写一个小程序,把所有论文按顺序遍历一遍,统计每一个遇到的单词的出现次数,最后就可以知道哪几个单词最热门了。 这种方法在数据集比较小时,是非常有效的,而且实现最简单,用来解决这个问题很合适。

  方法二:
  写一个多线程程序,并发遍历论文。
  这个问题理论上是可以高度并发的,因为统计一个文件时不会影响统计另一个文件。当我们的机器是多核或者多处理器,方法二肯定比方法一高效。但是写一个多线程程序要比方法一困难多了,我们必须自己同步共享数据,比如要防止两个线程重复统计文件。

  方法三:
  把作业交给多个计算机去完成。
  我们可以使用方法一的程序,部署到N台机器上去,然后把论文集分成N份,一台机器跑一个作业。这个方法跑得足够快,但是部署起来很麻烦,我们要人工把程序copy到别的机器,要人工把论文集分开,最痛苦的是还要把N个运行结果进行整合(当然我们也可以再写一个程序)。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
龚琳娜音乐作品 龚琳娜的歌(全部) ...她说做不了好朋友,还可以做朋友,是什么意思啊!以后还 ..._百度... ...Out )攻略_荒野行动卡在登陆界面怎么办 卡屏解决方法 “柳色和愁为重折”的出处是哪里 ...下身是蓝黑色的牛仔五分裤 配同样暖黄色的帆布鞋还是白色帆布鞋好看... 绝地求生全军出击G港怎么打 G港打法详解-高手进阶-安族网 下肢残疾人 不能动 需要有人照顾的人 她能学什么? ...共6角。如果三种 硬币的钱数相等,各有 多少枚? 什么品牌的睫毛膏值得推荐? Hadoop和MapReduce究竟分别是做什么用的 如何实现mapreduce计算框架以有效实现迭代 什么是MapReduce? mapreduce的工作流程 Hadoop的工作原理是什么 mapreduce处理海量数据的工作原理是什么? 请简要描述Hadoop计算框架MapReduce的工作原理 mapreduce实现原理是怎样的 圆通快递的电话 为什么总是打不通 一个电话打不通是啥原因? 什么情况下电话对方打不通? 为什么我打别人电话打得通,别人打我却打不通 打的电话怎么打不通? 打不通对方的电话是什么原因 固定电话打不通的原因有哪些 电话打不出,也呼不进,是什么原因电话打不通,也接不进来,怎么回事,我还是头一次见? 电话怎么打不通啊,什么原因 为什么打不通电话 电话打不通有几种原因 为什么电话打不通 请简述mapreduce的技术思想 简述MapReduce基本思想,想想在生活中有没有相似的例子? 大数据需要掌握哪些技能 大数据培训一般都将些什么内容? 简述Hadoop的MapReduce与Googl的MapReducc 之间的关系 mapreduce中map是怎么做的?参数又是怎么解析传递给map方法的 mapreduce处理什么任务 大数据培训到底是培训什么 简述HDFS和MapReduce在Hadoop中的角色 如何快速地编写和运行一个属于自己的MapReduce例子程序 为什么手机没有欠费,但是打电话出去说我停机了? 为什么号码没有欠费却被停机了? 手机没欠费被暂停服务怎么回事 为什么我的手机没有停机但是别人打我的电话显示停机 手机没欠费为什么停机 我的手机号码没欠费,为什么会暂停服务?如何解决? 手机没有欠费,为什么是停机状态?只能打进不能打出 为什么号码没有欠费却被停机了 为什么我手机没欠费也停机了 为什么我的手机没有欠费打电话会提示手机暂停服务