大数据第二章课后题答案
黎狸
1. 试述Hadoop和谷歌的MapReduce、GFS等技术之间的关系。
Hadoop是Apache软件基金会旗下的一-个开源分布式计算平台,为用户提供了系统底层细节透明的分布式基础架构。
① Hadoop 的核心是分布式文件系统( Hadoop Ditributed File
System,HDFS )和MapReduce。
② HDFS是对谷歌文件系统( Google File System, GFS )的开源实现,是面
向普通硬件环境的分布式文件系统,具有较高的读写速度、很好的容错性和可伸缩性,支持大规模数据的分布式存储,其冗余数据存储的方式很好地保证了数据的安全性。
③ MapReduce 是针对谷歌MapReduce的开源实现,允许用户在不了
解分布式系统底层细节的情况下开发并行应用程序,采用MapReduce 来整合分布式文件系统上的数据,可保证分析和处理数据的高效性。
2. 试述Hadoop具有哪些特性。
Hadoop是一个能够对大量数据进行分布式处理的软件框架,并且是以一种可靠、高效、可伸缩的方式进行处理的,它具有以下几个方面的特性。 ① 高可靠性。采用冗余数据存储方式,即使一个副本发生故障, 其他副本
也可以保证正常对外提供服务。
② 高效性。 作为并行分布式计算平台,Hadoop采用分布式存储和分布式
处理两大核心技术,能够高效地处理PB级数据。
③ 高可扩展性。 Hadoop的设计目标是可以高效稳定地运行在廉价的计算
机集群上,可以扩展到数以千计的计算机节点。
④ 高容错性。 采用冗余数据存储方式,自动保存数据的多个副本,并且能
够自动将失败的任务进行重新分配。
⑤ 成本低。 Hadoop采用廉价的计算机集群,成本比较低,普通用户也很
容易用自己的PC搭建Hadoop运行环境。
⑥ 运行在 Linux平台上。Hadoop是基于Java语言开发的,可以较好地
运行在Linux平台上。
⑦ 支持多种编程语言。 Hadoop 上的应用程序也可以使用其他语言编写,
如C++。
3. 试述Hadoop在各个领域的应用情况。 互联网领域是Hadoop应用的主要阵地。
① 雅虎将Hadoop主要用于支持广告系统与网页搜索。
② Facebook主要将Hadoop平台用于日志处理、推荐系统和数据仓库等
方面。
③ 淘宝Hadoop集群服务于阿里巴巴集团各部门,数据来源于各部门产品
的线上数据库( Oracle、MySQL)备份、系统日志以及爬虫数据,每天在Hadoop集群运行各种MapReduce任务,如数据魔方、量子统计、推荐系统、排行榜等。
④ 百度选择Hadoop主要用于日志的存储和统计、网页数据的分析和挖掘、
商业分析、在线数据反馈、网页聚类等。
4. 试述Hadoop的项目结构以及每个部分的具体功能。
Hadoop项目结构
Pig MapReduce Common Chukwa HDFS Hive Avro HBase Zookeeper
各部分具体功能:
① Common。Common为Hadoop其他子项目提供支持的常用工具,
主要包括文件系统、RPC(Remote Procedure Call)和串行化库。 ② Avro。Avro Avro是Hadoop的一一个子项目,也是Apache中的一
个独立项目。Avro是一个用于数据序列化的系统,提供了丰富的数据结构类型、快速可压缩的二进制数据格式、存储持久性数据的文件集、远程调用( Remote Procedure Call, RPC )的功能和简单的动态语言集成功能。Avro 可以将数据结构或对象转化成便于存储和传输的格式,节约数据存储空间和网络传输带宽, Hadoop的其他子项目(如HBase和Hive )的客户端与服务端之间的数据传输都采用了Avro。
③ HDFS。HDFS是针对GFS的开源实现。具有处理强大数据、流式处理、
可以运行在廉价的商用服务器上等优点。
④ HBase。HBase是针对谷歌的BigTable的开源实现。一般采用HDFS作
为其底层数据存储,基于列的存储,具有强大的非结构化数据存储能力。具有良好的横向扩展能力。
⑤ MapReduce。MapReduce是一种编程模型,用于大规模数据集(大
于1TB)的并行运算。允许用户在不了解分布式系统底层细节的情况下开发并行应用程序,并将其运行于廉价计算机集群上,完成海量数据的处理。
⑥ Zookeeper。Zookeeper是针对谷歌Chubby的-一个开源实现,是高