《MapReduce: Simplified Data Processing on Large Clusters》 2004年
[6]
《Bigtable: A Distributed Storage System for Structured Data》 2006年
[7]
应用程序
Hadoop 的最常见用法之一是 Web 搜索。虽然它不是唯一的
软件框架
应用程序,但作为一个并行
数据处理引擎,它的表现非常突出。Hadoop 最有趣的方面之一是 Map and Reduce 流程,它受到
Google开发的启发。这个流程称为创建索引,它将 Web
爬行器检索到的文本 Web 页面作为输入,并且将这些页面上的单词的频率报告作为结果。然后可以在整个 Web 搜索过程中使用这个结果从已定义的搜索参数中识别内容。
结果是对输入域中的单词进行计数,这无疑对处理索引十分有用。但是,假设有两个输入域,
第一个是 one small step for man,
第二个是 one giant leap for mankind。您可以在每个域上执行 Map 函数和 Reduce 函数,然后将这两个键/值对列表应用到另一个 Reduce 函数,这时得到与前面一样的结果。换句话说,可以在输入域并行使用相同的操作,得到的结果是一样的,但速度更快。这便是 MapReduce 的威力;它的并行功能可在任意数量的系统上使用。图 2 以区段和迭代的形式演示这种思想。
这个分布式框架很有创造性,而且有极大的扩展性,使得Google在系统吞吐量上有很大的竞争力。因此Apache基金会用Java实现了一个开源版本,支持Fedora、Ubuntu等Linux平台。雅虎和硅谷风险投资公司Benchmark Capital 联合成立一家名为Hortonworks的新公司,接管被广泛应用的数据分析
软件Hadoop的开发工作。