一段时间以来,我一直很喜欢阅读 ServerFault,并且遇到了很多关于 Hadoop 的主题。从全球的角度来看,我很难找到它的作用。
所以我的问题很简单:什么是 Hadoop?它有什么作用 ?它是干什么用的 ?为什么会踢屁股?
编辑:如果有人碰巧有使用 Hadoop 的用例的演示/解释,那就太好了。
一段时间以来,我一直很喜欢阅读 ServerFault,并且遇到了很多关于 Hadoop 的主题。从全球的角度来看,我很难找到它的作用。
所以我的问题很简单:什么是 Hadoop?它有什么作用 ?它是干什么用的 ?为什么会踢屁股?
编辑:如果有人碰巧有使用 Hadoop 的用例的演示/解释,那就太好了。
直接从马嘴里说:
Map/Reduce 是谷歌流行的一种编程范式,其中一个任务被分成小部分并分发到大量节点进行处理(map),然后将结果汇总为最终答案(reduce )。谷歌和雅虎将其用于他们的搜索引擎技术等。
Hadoop 是实现这种处理方案的通用框架。至于它为何如此出色,主要是因为它提供了诸如容错之类的简洁功能,并且可以让您将几乎任何类型的硬件组合在一起来进行处理。只要您的问题符合范式,它的扩展性也非常好。
您可以在网站上阅读所有相关信息。
至于一些例子,Paul 给出了一些例子,但这里还有一些你可以做的不是那么以网络为中心的例子:
然后在“减少”步骤中总结结果。
本质上,该模型对于可以分解为完全独立的类似离散计算的问题非常有效,并且可以重新组合以产生最终结果。
Cloudera 有一些很棒的视频来解释 Map Reduce 和 Hadoop 背后的原理。
http://www.cloudera.com/hadoop-training-basic
MapReduce 背后的核心理念之一是,对于大型数据集,您将在磁盘上进行 io 绑定,因此在 Hadoop HDFS 中,您能够在许多节点之间拆分数据,从而实现并行处理。
系统管理员感兴趣的 Hadoop 的一些用途通常是处理大型日志文件集 - 我只能发布一个链接,但其中包括,谷歌应该找到这些:
最初 hadoop 是为 OLAP 环境中的大量数据集而开发的。
随着在 hadoop 之上引入 Hbase,cane 也可用于 OLAP 处理。Hadoop 是一个包含 map reduce、hdfs、hbase、pig 等所有子组件的框架。
我在Why Hadoop is introduction中找到了一篇hadoop基础的文章。
在 Hadoop 中,数据以文件的形式存储,而不是以表、列的形式存储。