Apache Hadoop的开源性质创建了一个生态系统,使其功能、性能、可靠性和易用性都不断进步。
保持简单性和可扩展性
在名为“数据不合理的有效性”的文章中,来自谷歌的研究人员将简单的物理方程式(例如E = mc2)与其他学科对比,并指出,“涉及人类而非基本粒子的科学更适合使用简单的数学算法”。
事实上,简单的公式完全能够解释复杂的自然世界,以及理解难以捉摸的人类行为,这也是为什么Hadoop普及的原因。
研究人员发现,相对简单的算法适用于大规模数据集,并能产生惊人的结果。其中一个例子就是scene completion技术,它使用一个算法来消除图片上的某物(例如汽车),然后从成千上万的图片资料库中寻找合适的照片进行“修补”,当图片资料库的照片增加到数百万时,该算法表现不佳。当拥有足够的数据,这种简单的算法表现极为出色。寻找模式以及“修补”技术是当今很多数据分析应用程序的共同主题。
数据分析还面临着另一个固有复杂性:非结构化数据与非结构化数据的增加。非结构化数据(例如日志文件、社交媒体、视频等)的规模和重要性同时在增加,并且有些结构化在经过一些变化后也失去了结构。传统分析技术在产生结果前需要对非结构化和半结构化数据进行大量预处理,并且如果预处理存在某种缺陷的话,产生的结果可能是错误的。
Hadoop采用简单算法来分析原始形式的非结构化、半结构化和结构化数据以及产生有意义结果的能力是前所未有的,目前来看,也是无与伦比的。MapReduce使我们能够以渐进的方式来分析数据,而必须要进行复杂的数据转换或者其他数据预处理,或提前创建任何模式或整合数据。