- MapReduce提出了一个编程模型,该模型将问题进行抽象,并转换为一个数据集(由键值对组成)的计算。该计算由map和reduce两部分组成,提供对外的接口。
- 寻址时间的提高远远慢于传输速率的提高。MapReduce比较适合以批处理方式处理需要分析整个数据集的问题(ad-hoc),一次写入、多次读取数据。RDBMS适用于点查询和持续更新的数据集。
- MapReduce适合处理半结构化和非结构化数据,比如分析应用服务日志。
- 数据本地化、无共享、MPI自身检查和恢复。
- Yahoo! Search有4个主要组成部分:Crawler从网页服务器爬取网页,WebMap构建一个已知网页的链接图,Indexer为最佳页面构建一个反向索引,Runtime处理用户的查询。
- Hadoop项目
- Common 一组分布式文件系统和通用IO的组件与接口
- Avro 一种支持高效、跨语言的RPC以及永久存储数据的序列化系统
- MapReduce 分布式数据处理模型和执行环境
- HDFS 分布式文件系统
- Pig 一种数据流语言和运行环境,用于检索非常大的数据集
- Hive 一个分布式、按列存储的数据库,管理HDFS存储的数据,提供基于SQL的查询语言
- HBase 一个分布式、按列存储的数据库。HBase使用HDFS作为底层存储,同时支持MapReduce的批量式计算和点查询
- ZooKeeper 一个分布式、可用性高的协调服务。提供分布式锁之类的基本服务用于构建分布式应用
- Sqoop 在数据库和HDFS之间高效传输数据的工具