教育资源为主的文档平台

当前位置: 查字典文档网> 所有文档分类> 论文> 其他论文> 云计算平台Hadoop

云计算平台Hadoop

上传者:网友
|
翻新时间:2023-03-11

云计算平台Hadoop

【摘 要】云计算是目前最热门的研究课题之一,发展云计算平台的技术也多种多样,文章介绍云计算平台Hadoop。说明Hadoop的起源、发展现状及Hadoop体系架构,简要分析Hadoop的行业应用案例。

【关键词】Hadoop;GFS;大数据

一、Hadoop来源和动机

Hadoop是Apache软件基金会旗下的一个开源软件平台,一个以Hadoop分布式文件系统(Hadoop Distributed File System,HDFS)和MapReduce(Google MapReduce的开源实现)为核心的分布式系统基础架构,主要用于对海量数据进行高效的存储、管理和分析。HDFS的高容错性、高伸缩性等优点让用户可以在价格低廉的硬件上部署Hadoop,形成分布式系统。MapReduce让用户可以在不了解分布式底层细节的情况下,开发分布式程序,并可以充分利用集群的威力高速运算和存储。

二、Hadoop与分布式开发

Hadoop则是属于分布式软件系统中文件系统这一层的软件,它实现了分布式文件系统和部分分布式数据库的功能。Hadoop中的分布式文件系统HDFS能够实现数据在计算机集群组成的云上高效的存储和管理,Hadoop中的并行编程框架MapReduce能够让用户编写的Hadoop并行应用程序运行更加简化,这就让我们能够通过Hadoop进行相应的分布式开发。

要通过Hadoop进行开发,我们得先知道Hadoop数据的处理特点。Hadoop的优势在于大规模的分布式数据处理,而且所有的数据处理作业都是批处理的,所有要处理的数据都要求在本地,任务的处理是高延迟的,MapReduce的处理过程虽然是基于流式的,但是处理的数据并不是实时数据,也就是说Hadoop在实时性上并不占优势,显然,Hadoop不适合于开发WEB程序。

Hadoop上的并行应用程序开发是基于MapReduce编程框架的。我们并不需要考虑任务的具体分配是什么样的,只需要用户根据MapReduce提供的API编写特定的mapper与reducer函数就可以和机器交互,然后把任务交给系统就可以了。

三、Hadoop体系架构

Hadoop是一个能够对大数据进行分布式处理的软件框架,实现了Google的MapReduce编程模型和框架,能够把应用程序分割成许多小的工作单元,并把这些单元放到任何集群节点上执行。在MapReduce中,一个准备提交执行的应用程序成为“作业job”,而从一个作业换分出的、运行于个计算节点的工作单元成为“任务task”。此外,Hadoop提供的分布式文件系统HDFS主要负责各个节点上的数据的存储,并实现了高吞吐率的数据读写。Hadoop的基本架构如图1所示,由实现数据分析的MapReduce计算框架和实现数据存储的分布式文件系统HDFS组成。

MapReduce的主要吸引力在于:它支持使用廉价的计算机集群对规模达到PB级的数据集进行分布式并行计算,是一种编程模型。它由Map函数和Reduce函数构成,分别任务的分解与结果的汇总。MapReduce的用途是进行批量处理,而不是进行实时查询,即特别不适用于交互式应用。

HDFS的数据读写具有“一次写,多次读”的特征,HDFS保证一个文件在一个时刻只被一个调用者执行写操作,而可以被多个调用者执行读操作。HDFS具有高容错性,可以部署在低廉的硬件上,并且提供了对数据读写的高吞吐率。HDFS为分布式计算存储提供了底层支持,HDFS与MapReduce框架紧密结合,是完成分布式并行数据处理的典型案例。

目前,Hadoop已经发展成为包含很多项目的集合,形成了一个以Hadoop为中心的生态系统(Hadoop Ecosystem),如图2所示。此生态系统提供了互补性服务或在核心层上提供了更高层的服务,使Hadoop的应用更加方便快捷。

ETL Tools是指一系列数据仓库采集工具,是构建数据仓库的重要环节。

BI Reporting(Business Intelligence Reporting,商业智能报表)能提供综合报告,数据分析和数据集成等功能。

RDBMS是关系型数据库管理系统。RDBMS中的数据存储在被称为表(tables)的数据库对象中。表是相关的数据项的集合,它由列和行组成。

Pig是数据处理脚本,提供相应的数据流(Data Flow)语言和运行环境,实现数据转换(使用管道)和实验性研究(如快速原型),适用于数据准备阶段。Pig运行在MapReduce和HDFS的集群上。

Hive是基于平面文件而构建的分布式数据仓库,擅长数据展示,由Facebook贡献。Hive管理HDFS中存储的数据,并提供基于SQL的查询语言(有运行时的引擎翻译成MapReduce作业)用以查询数据,Hive和Pig都是建立在Hadoop之上的,可以用来从数据库中提取信息,交给Hadoop处理。

Sqoop是数据接口,完成HDFS和关系型数据库中的数据相互转移的工具。

Hbase是类似于Google BigTable的分布式列数据库。HBase和Avro于2010年5月成为顶级Apqche项目。Hbase支持MapReduce的并行计算和点查询(即随机读取)。Hbase是基于Java的产品,与其对应的基于C++的开源项目是Hypertable,也是Apache的项目。

Avro是一种新的数据序列化(serialization)格式与传输工具,将逐步取代Hadoop原有的IPC机制。

Zookeeper是分布式锁设施,用于构建分布式应用,提供类似Google Chubby的功能,它是基于Hbase和HDFS的,由Facebook贡献。

四、Hadoop行业应用案例分析

随着企业的数据量的迅速增长,存储和处理大规模数据已成为企业的迫切需求。Hadoop作为开源的云计算平台,已引起了学术界和企业的普遍兴趣。

关于Hadoop技术的研究和应用,Yahoo !始终处于领先地位,它将Hadoop应用于自己的各种产品中,包括数据分析、内容优化、反垃圾邮件系统、广告的优化选择、大数据处理和ETL等;同样,在用户兴趣预测、搜索排名、广告定位等方面得到了充分的应用。

在Yahoo!主页个性化方面,实时服务系统通过Apache从数据库中读取user到interest的映射,并且每隔5分钟生产环境中的Hadoop集群就会基于最新数据重新排列内容,每隔7分钟则在页面上更新内容。

在邮箱方面,Yahoo!利用Hadoop集群根据垃圾邮件模式为邮件计分,并且每隔几个小时就在集群上改进反垃圾邮件模型,集群系统每天还可以推动50亿次的邮件投递。

目前Hadoop最大的生产应用是Yahoo!的Search Webmap应用,它运行在超过10 000台机器的Linux系统集群里,Yahoo!的网页搜索查询使用的就是它产生的数据。

五、结语

本文介绍了Hadoop的起源及发展现状,分析Hadoop与分布式开发的关系。展开介绍了Hadoop的体系架构并就目前而言对Hadoop的商业应用案例进行分析。在今后的云计算热潮中Hadoop会有更多的发展,Hadoop的应用也会越来越广。

下载文档

版权声明:此文档由查字典文档网用户提供,如用于商业用途请与作者联系,查字典文档网保持最终解释权!

网友最新关注

a apple tree
The four seasons in a year
My sister
The Struggling(挣扎)
My English techer
Don't go away
My school life
Me
My family(我的家庭)
Teacher's Day memorable
My day(我的一天)
My best friend
Can money buy happiness!(金钱能买来幸福!)
My Englishtecher
My family
普通高校跆拳道俱乐部教学模式浅析
以信息化助推干部教育培训科学发展
浅析我国农村中学思想品德课课外活动
大数据背景下主旋律电视剧的传播
新形势下如何加强高校教师职业道德修养
基于微信的有声微英语平台之创建
大学生责任意识的培养对于高校人才培养的重要性
儒家思想对学校辅导员工作的启示
玉水村语言使用现状及成因
论中学化学教学中绿色化学理念的渗透
现代信息技术在中学化学教学中的运用
浅析艺术教学活动对幼儿创造力的培养
物流管理专业本科学生信息能力提升研究
浅谈加强高校学生的安全问题及解决措施
坚持开展说课活动,提高教学质量
《秋天》教学设计
撩起日月潭涟漪
《国旗和太阳一同升起》教学设计之三
日月潭风景
日月潭文化
日月潭拉鲁岛:邵族美丽传说
宝岛明珠——日月潭
《我的五样》教案之九
《我的五样》三种教学设计
《国旗和太阳一同升起》教学设计之二
《国旗和太阳一同升起》教学笔记
《日月潭》第二段的语言文字训练
《国旗和太阳一同升起》教学实录
《国旗和太阳一同升起》教学设计之一
《我的五样》教学实录