您的当前位置:首页正文

基于Hadoop平台的海量数据分析和处理

2024-02-17 来源:年旅网
基于Hadoop平台的海量数据分析和处理

张趁香

苏州工业园区服务外包职业学院,江苏苏州215000)(

要:从海量数据中迅速提取有效信息是应用软件开发者们在项目开发中遇到的最大难题。该问题

的出发点是在分析Hadoop集群技术组合的关键技术基础和其他现有的分布式存储和计算研究的基础上,以及它们的商业需求和实际的硬件和软件编程能力。提出了一种基于模型和数据结构设计程序的大规模Hadoop数据处理方法,在组织和使用编程方法的几个过程中,介绍了模型的开发、日志数据预处理模型及其在大型网站中的应用。关键词:海量数据;数据处理;Hadoop软件

DOI:10.16184/j.cnki.comprg.2019.01.033

1概述

随着计算机技术和互联网技术的飞速发展,大量的

海量数据需要特殊的技术通过时间数据来有效处理大量的偏差。适用于海量数据技术,包括大规模并行处理(MPP)数据库、数据挖掘网格、分布式文件系统、分布式数据库、云计算平台、Internet和可扩展存储系统。对于海量数据的特性,可以使用量大、多样、价值、高速进行概括,如图1所示。

Structured

Semi-structuredUnstructured

(Text,Video,Images,etc.)

数据不断涌现。企业当务之急是改变其传统架构,以及如何分析这些数据,如何在海量数据面前充分利用数据的价值。同时,如何优化企业管理已成为现代企业转型过程中不可避免的问题。数据量只是大规模数据海量数据挑战的一个方面,速度和多样性是其另外两个方面。速度指的是响应速度需求收集、处理和数据查询数据。多样性指的是改变数据的格式和内容。在海量数据处理中,如何从海量数据中高效、快速地挖掘的潜在价值和转化能力,将为企业提供决策依据,并将成为企业的核心竞争力。数据分析的重要性是毋庸置疑的。但随着数据生成的速度越来越快,数据量越来越大,数据处理技术面临着越来越多的挑战。如何从海量数据中挖掘有用的价值,分析深层含义,转化为可操作的信息,已成为互联网公司必须处理的问题。在云平台上对海量数据处理模型和算法的并行分布式研究具有足够的研究价值。作为Hadoop云平台的研究平台,为大量的Web日志数据处理模型,基于分布式数据挖掘的Apriori算法的海量数据处理性能的研究,有效地改进完善云平台,促进大数据处理技术发展而服务。

Terabytes-PetabytesPetabytes-ExabytesExabytes-ZettabytesZettabytes-Yottabytes

InsightData-Analyticsondataat-rest

StreamProcessing-Datain-motioni.e.millisecondtoresnond

UncertainInconsistentAmbiguous

VarietyVolumeVelocityVeracity

Massivedata

图1海量数据特征图

数据量是巨大的。从TB跳到PB乃至EB级别。迄今为止,这是指相当于200PB印刷材料包括的数据量,而所有人类的历史共有5EB数据量。

数据类型范围:这种多样性还允许数据分为结构化数据和非结构化数据。与以前的基于文本的结构化数据存储相比,越来越多的非结构化数据被创造出来,给所有的制造商带来挑战。近年来,由于互联网和通信技术

2海量数据的特征

海量数据通常用来描述大量的非结构化数据和半结

构化数据,这些在关系数据库中的数据在进行分析时下载起来需要花费大量的时间和金钱。海量数据分析和云计算常常联系在一起,因为对大数据集的实时分析要求与Map-Reduce框架一样,分配给计算机数十、数百甚至数千个作业。

基金项目:2018年江苏省高职院校青年教师企业实践计划项目(计划编号:2018QYSJ084)阶段性成果。

作者简介:张趁香(1980-),女,副教授,研究方向:软件技术、软件测试、教育教学改革。

收稿日期:2018-10-11

2019.01

95

的飞速发展,以及数据类型不是单一文本,除了Web日志、音频、视频、图片和位置信息等数据类型外,数据处理能力也随着提高了。

价值密度低:值密度的级别与数据量成反比。例如,在视频中,一小时的视频,在不间断的监控过程中,可能有用的数据只有12秒。如何以更快的速度完成更强大的机器数据“净化”,是解决当前湍流背景下大数据量问题的一种方法。

快速处理速度:这是区别于传统数据挖掘的最重要的特征。面对大量的数据,数据处理的效率是他们的灵魂。

3Hadoop云平台体系结构

Hadoop是一种分布式系统基础模式,用户可以在

不知道分布式应用程序开发的背后细节的情况下分布,利用高速计算能力和存储的集群。Hadoop包含多个子项目,但主要由分布式存储(HDFS)、分布式计算(MapReduce)两个基本部分构成,典型的基本部署架构如图2所示。

PigHiveCompiled)re(DataFlow)

o(SQL)ProcessingtSLQ)seSt)naoMapReduce

RawnrbNieeorHProcessing

irptaam(DistributedProgrammingFramework)

beaneengkiamodmnrAuooaloZoCM(C(Hcatalog

Structured((Table&SchemaManagement)

StorageHDFS

Untructured(HadoopDistributedFileSystem)

Storage

图2Hadoop云平台架构图

分布式文件系统hdfs.hdfs(Hadoop的分布式文件系

统)是一个项目开发的Hadoop分布式文件系统,使用的是主从架构。HDFS是名称节点(文件索引器节点)和大量的数据节点(datanodes)构成的。另外负责将文件块映射到数据节点。提供了由文件索引器节点对文件进行打开、关闭、重命名和目录等一些基本功能。然后由负责响应客户机特定文件读写的数据节点,在处理名称节点发起的创建时,删除并请求备份数据块。

并行计算体系MapReduce。MapReduce是一种为多个数据并行处理而设计的并行计算框架。MapReduce

输入数据工作通常分为单独的数据块(由多个一般并行处理任务图划分的数据)。从本地硬盘的HDFS数据删除映射器,减速器进一步地计算存储过程将导致网络映

96

2019.01

射器下的本地硬盘输出(数据/结果)到HDFS。MapRe-

duce框架着重于有计划的任务,以及监控程序执行状态的任务,如果失败,将重新执行任务。计算节点和存储节点的计算通常是在一起的,这意味着相同的节点和

MapReduce同用于HadoopHDFS。这使得MapReduce框架可以根据存储的数据进行分配。安排任务的情况。

MapReduce框架包括一个单独的主服务器作业跟踪器(工作分发服务器)和一组与任务追踪服务器(任务执行服务器)的数据节点一起安装的任务包。主服务器负责从服务器调度,并监控任务,以及重新执行失败的任务。

4基于Hadoop平台的海量数据分析和处理

海量数据分析系统内部工作处理逻辑基本相同,都

是用户发送请求,系统处理工作逻辑,并将结果反馈给客户显示。下面是针对海量数据分析系统的软件工程

UML类图和消息序列图,以核心数据查询为例,基于整个Hadoop系统的设计描述,海量数据分析系统类图如图3所示。

<>BaseController<><><>+queryData()

BaseServiceBaseDataBaseStrategy+getData()+getDataName()+getStragyName()

BaseControllerImplBaseServiceImplDataStrategy-dataName+queryData()

-strategyName

+getData()+getData()

+getStrategyName()

<>*

1

BaseDao+getEntity()

1DataList

*

BaseDaoImpl-dataValue+putData()

+getEntity()

图3

基于Hadoop的海量数据分析类图

在海量数据分析系统的类图设计中,所有的业务处理逻辑单元接口的BaseService,BaseControllerIMP1

对父类的所有实际业务逻辑采用BaseService方法,比如查询数据的核心业务,它可以被定义为数据查询服务,采用了BaseServiceIMP1类,并且它拥有自己的核心方法来查询核心数据这是它独立的业务拓展,所以整个服务层的可重用性大大提高。BaseController接口到所有请求映射服务接口,其任务是通过用户页面HTTP

发送请求到服务器,这些请求根据一定的规则被提交至业务逻辑层,直到业务逻辑层处理完成后,调用显示视图,将结果呈现给用户。BaseControllerIMP1实行Base

Controller接口,BaseDao接口对于所有的业务逻辑对象接口实体,该接口的任务是,实体对象通过这些实体访问数据库对象和核心数据文件概括业务逻辑,该接口是交互保护业务逻辑和实际数据源。BaseDaoIMP1Base

算和分布式平台的理论进行了讨论和分析,选择了

Hadoop的基本平台进行研究和分析,结合在组织和使用编程方法的几个过程中,介绍了模型的开发、日志数据预处理模型及其在大型网站中的应用。分析Hadoop

Dao实现接口,业务逻辑对象的父类与数据库产生交互,那样可以把所有的交互项都实例化,更方便地面向对象编程。基于Hadoop的海量数据处理如图4所示。

集群技术组合的关键技术基础和其他现有的分布式存储和计算研究的基础上,以及它们的商业需求和实际的硬件和软件编程能力。并且尝试在实验室中搭建并部署一个验证Hadoop云平台,研究了Hadoop云平台下海量

Web日志数据处理模型,并给出了性能改进方案和分

RawDataCollection

析,然后对Hadoop平台进行了改进和性能分析,研究并讨论了基于Apriori算法的分布式数据挖掘算法,并给出了结果。

参考文献

TypesofChallenges

FilterData

CreateMetaData

LoadingDataHeterogeneityScalabilityTimelinessPrivacyHuman

Collaboration

DataIntegrationOrganizeDataDataDiscoverv

[1]陈文光.大数据与高性能计算[J].大数据,2015,

(01).

[2]曹茜茜.基于Hadoop的电信大数据分析的设计与

实现[D].西安科技大学,2015.

[3]TanH,LuoW,NiLM.Clost:ahadoop-basedstorage

AnalyzingIntegrated

Data

systemforbigspatio-temporaldataanalytics[C]//Pro-ceedingsofthe21stACMinternationalconferenceonInformationandknowledgemanagement.ACM,2012:2139-2143.

[4]ShangW,JiangZM,HemmatiH,etal.Assistingde-velopersofbigdataanalyticsapplicationswhendeployingonhadoopclouds[C]//Proceedingsofthe2013InternationalConferenceonSoftwareEngineering.IEEEPress,2013:402-411.

DecisionMaking

图4基于Hadoop的海量数据处理流程图

5结语

从海量数据生成以及个性化网络开发着手,结合分

布式计算理论,提出了一种基于模型和数据结构设计程序的大规模Hadoop数据处理方法,首先,对分布式计

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(上接第94页)inDataAnalysis,2006,4425:375-382.多用户加入进来,很多冷门电影被记录下来,使得Us-[2]项亮.推荐系统实践[M].北京:人民邮电出版

er-basedCF的覆盖率更好。

社,2012,6:38-39.

5结语

介绍了User-based的和Item-based的协同过滤算

[3]张宏,王慧.基于用户评分和共同评分项的协同过滤

算法研究[J/OL].计算机应用研究,2019,36(1).

法,并在不同量的数据集中进行了实验,通过准确率和覆盖度两个指标衡量了这两种算法。实验结果表明,随着数据量的增大Item-basedCF的推荐准确率更高,Us-

[4]Segaran,T.集体智慧编程[M].北京:电子工业

出版社,2015,3:24-25.

[5]郝立燕,王靖.基于项目流行度的协同过滤TopN

推荐算法[J].计算机工程与设计,2013,34

er-basedCF的推荐覆盖率更高。

参考文献

(10):3499-3500.

[1]SymeonidisP,NanopoulosA,PapadopoulsA,etal.Col-laborativefilteringbasedonusertrends[J].Advances

2019.01

97

因篇幅问题不能全部显示,请点此查看更多更全内容