1、研究背景和意义
随着信息技术和互联网的快速崛起及广泛应用,涌现出信息密集化、多样化、高速化传播的现象,标志着人们己进入信息过载的大数据时代,例如淘宝网每天数据产生量超过60TB,百度公司每天要处理超过100PB数据,存储网页数近1万亿,北京市政府部门数据库总量己超过100PB。面对如此海量的数据,不仅用户寻找信息愈发困难,而且信息提供者如何让信息快速吸引用户也成为一项挑战。
2 Hadoop技术
Hadoop 平台是一个分布式系统框架,是目前最为广泛使用的云计算平台。Hadoop 采用具有跨平台特点的 Java 语言作为其主要开发语言,可以快速高效的进行海量数据的存储和计算。Hadoop 集群由多台 PC 机组成,其中一台会作为Master 节点,其余 PC 机作为 Slave 节点,Slave 节点的数量可以根据具体的数据动态的调整,以此来实现集群的扩展。Hadoop 由许多子项目构成,这些子项目的组合补充为 Hadoop 提供了更好的服务,主要的子项目有:HDFS:它是一个具有高容错性,高吞吐量的特点分布式文件系统,能够存储海量数据。MapReduce:它是一个并行计算的框架,包含 Map 和 Reduce 的过程,在HDFS 上进行计算,但是与 HDFS 相互独立。HBase:HBase 是一个 NoSQL 数据库,和 Google BigTable 类似,非常适合存储非结构化数据,它是列式存储的。Hive:Hive 是基于 Hadoop 的一个数据仓库工具,具有学习成本低的优点。Hadoop 分布式平台的优势主要有以下几点:
- 高可靠性:底层维护多个数据副本,防止出现故障后数据丢失。
- 高扩展性:Hadoop 的 Slave 节点可以根据数据的变化动态的添加。
- 高容错性:保存多个副本以防止数据丢失,失败的任务也会被重新分配。
- 低成本:Hadoop 是开源的,且运行集群的设备配置简单,价格低廉。