随着近20多年来计算技术的不断革新,企业积累了大量数据。数字传感器的进步使得通信系统越来越广泛的使用,尤其是移动平台和移动终端的飞速增长;系统运行产生的大量日志以及越来越多的企业采用无纸化办公的工作方式,这些情况都使得企业积攒起了海量数据资源。并且随着人们对现代科技越来越多的依赖,数据将会以更快的速度增长下去。
摩尔定律告诉我们,大约每隔两年,计算机的性能将历史性地提升一倍。最初,计算资源的提升速度满足了飞速增长的数据的处理需求。好景不长,到2005年前后,数据处理需求增长的速度已经快于计算资源处理能力的提升速度。
计算机工业界想到了另外一个更加经济有效的解决办法,就是数据的并行处理。既然单台计算机无法满足大数据量的计算需求,那就用多台计算机来并行处理这些海量数据。Hadoop就是利用互相联网的多台计算机使用MapReduce(一种改进的单指令多数据流[SIMD]计算技术)来并行地处理计算大量数据。
像亚马逊、谷歌、微软这样的公司为我们提供了较为廉价的云计算服务,使得分布式并行计算的概念更加深入人心,相比于购买计算资源,我们只要花少量的费用就可以租用相应的计算资源。
本书是使用Hadoop平台来开发和运行软件的实用指南。Hadoop项目起初由Apache Software Foundation来负责管理,目前像Cloudera、MapR和Hortonworks这样的公司也加入到维护发展它的阵营中。本章会从整体上介绍大数据的由来以及Hadoop项目。