大数据技术:MapReduce与线性代数基础解析
一、MapReduce 技术解析
1.1 MapReduce 概述
2004 年 12 月,Google 发布了一篇名为“MapReduce: Simplified Data Processing on Large Clusters”的论文,由 Jeffrey Dean 和 Sanjay Ghemawat 撰写。该论文旨在解决 Google 简化集群计算的迫切需求。MapReduce 的核心思想是将一个作业的各个部分映射(分发)到集群的所有节点上,每个节点生成中间结果集的一部分,然后将这些部分归约(聚合)为最终结果。
MapReduce 主要解决了三个问题:
- 并行化 :如何并行执行计算。
- 数据分布 :如何分布数据。
- 容错性 :如何处理组件故障。
其核心通过编程方式解决这三个问题,隐藏了处理大规模分布式系统的大部分复杂性,只暴露了两个函数: map 和 reduce 。与传统的数据仓库系统和关系型数据库不同,MapReduce 避免移动数据,而是将程序发送到数据所在的位置,因为数据量太大,移动数据成本过高。
1.2 MapReduce 工作原理示例
下面通过一个简单的词频统计示例来解释 MapReduce 的工作原理。假设要找出一个网站上最常见的单词,该网站有两个页面,每个页面有一段文字:
- “Is it easy to program wi
超级会员免费看
订阅专栏 解锁全文
989

被折叠的 条评论
为什么被折叠?



