你好,游客 登录
背景:
阅读新闻

处理海量数据的模式MapReduce,大规模数据集的并行运算

[日期:2017-08-08] 来源:  作者: [字体: ]

  MapReduce是一种处理海量数据的并行编程模式,用于大规模数据集(通常大于1TB)的并行运算。

  “Map(映射)”、“Reduce(化简)”的概念和主要思想,都是从函数式编程语言和矢量编程语言借鉴。

  适合非结构化和结构化的海量数据的搜索、挖掘、分析与机器智能学习等。

  MapReduce计算模型

  分布式计算的瓶颈是网络带宽。“本地计算”是最有效的一种节约网络带宽的手段。

  MapReduce的特点

  1、输入的键值是不固定的,由分析人员选择

  2、对于非结构化和半结构化数据,非常有效

  3、适合于大规模数据的一次写入,多次查询

  4、MapReduce其核心就是高速、流式读写操作

  无共享

  无共享结构让MapReduce程序员无需考虑系统的部分失效问题;

  因为自身的系统实现,能够检测到失败的map或reduce任务;

  并让正常的机器重新执行这些失败的任务;

  因为各个任务之间彼此独立;

  任务的执行顺序是无关紧要的;

  MapReduce计算流程

  

处理海量数据的模式MapReduce,大规模数据集的并行运算

 

  MapReduce运行模型

  Map函数——对一部分原始数据进行指定的操作。每个Map操作都针对不同的原始数据,因此Map与Map之间是互相独立的,这使得它们可以充分并行化。

  Reduce操作——对每个Map所产生的一部分中间结果进行合并操作,每个Reduce所处理的Map中间结果是互不交叉的,所有Reduce产生的最终结果经过简单连接就形成了完整的结果集

  

处理海量数据的模式MapReduce,大规模数据集的并行运算

 

  数据分布存储,带来计算上的并行化:

  

处理海量数据的模式MapReduce,大规模数据集的并行运算

 

  MapReduce操作执行流程图

  

处理海量数据的模式MapReduce,大规模数据集的并行运算

 

  MapReduce并行计算人工智能

推荐 打印 | 录入: | 阅读:
相关新闻      
本文评论   
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款