APP下载

基于Hadoop云计算平台的算法研究

2017-10-22刘芬

中国新通信 2017年18期
关键词:数据分析数据挖掘

刘芬

【摘要】 随着互联网信息时代的到来,数据呈现爆发式增长的态势,大数据时代已经悄然来临,如何借助信息时代的便利推动现有的行业发展是当前数据分析技术应当实现的目标。云计算技术的产生已经推动了数据分析技术的进步以及更新,在数据挖掘的基础上,Hadoop云计算平台算法能够集合开发各个单处理机的节点,每个节点对自己的分配结果处理完毕以后各自汇总结果,最终整合整个处理结果,本文探讨了Hadoop云计算平台的算法,促使Hadoop云计算平台朝着更大规模的数据挖掘方向发展,为社会经济发展作出更大的贡献。

关键词:数据分析;Hadoop云计算平台;数据挖掘

一、Hadoop云计算平台的技术框架搭建

云计算一直是一个典型的由产业需求的推动的科学研究发展和政府支持的技术,云计算在海量信息搜索以及数据处理的时候能够发挥非常重要的作用,给行业发展带来了很大的便利,为了抓住行业的发展机遇,本文对云计算技术进行了探究,从技术的角度分析了如何实现云计算平台的搭建。

1.1Hadoop云计算平台的技术发展背景

Hadoop云计算平台是由Apache基金开发的开源云计算平台,贯彻了谷歌公司的云计算主题思想,主要包含了HDFS的分布式文件系统,为Hadoop云计算平台的底层文件存储提供了良好的解决方案。

在对谷歌的云计算技术进行研究的过程中,Hadoop云计算平台将普通的电脑大规模的集成在一起,将云计算技术广泛地推广出去,在我国,阿里巴巴、百度公司以及腾讯等等主流的互联网企业都会借助Hadoop云计算平台的技术核心优势来运转在及的云盘,在一定程度上,Hadoop云计算平台技术已经成了互联网行业的标准。

Hadoop云计算平台技术借助了谷歌的GFS分布式文件系统,重点处理如何借助云计算技术处理海量的数据业务,如何实现TB/PB级别的数据存储,在构建GFS系统的时候,分布式节点搭建在本地系统之上,形成一个具有逻辑性的文件系统,所有的GFS系统都以客户端、主服務器以及数据块服务器为构成主体,在访问系统文件的时候,从分布式结构的主节点获取数据元信息,截取数据模块信息,从数据块服务器获取直接的文件块,传递给客户端,让客户端与主服务器端之间控制信息流,实现控制流以及数据流的分流,从而降低主要框架节点的负载,为系统的高度并行带来了极大的可能。

Hadoop云计算平台综合了Google和MapReduce的编程模型以及计算框架,在编程的思路上,Hadoop云计算平台与谷歌的编程思想总体是一致的,对大规模的数据进行无依赖关系的集成切分,将切分好的各个节点独立地发送到后续的执行之中,在编程框架的主要节点上运行JobTracker进程,对所有的进程信息进行分解以及调度,负责节点之间的通信,当任务执行失败之后进行重新分配,在Hadoop云计算平台的TaskTracker进程中,本地执行之后将运行的结果发布给JobTracker,接受后者的调度。

Hadoop云计算平台的整个编程框架被分为两个部分,其中之一在于对各个运行节点进行执行分析,掌握各个节点的执行结果对其进行汇总,重点设计Map函数以及Reduce函数。

1.2 Hadoop云计算平台的执行流程与任务调度机制设计

在酒Hadoop云计算平台之上,整个系统有一个主要的节点是Master和若干个Worker,主要的节点负责任务的调度以及协调工作都是根据具体的执行情况设计的,便于与主要的节点进行信息的交互传递。

在执行的过程中,从客户端提供一个作业到Master节点,该节点会自动对数据信息进行收集以及切割,当没有明确数据片大小的时候,默认的每一个数据片的大小是64M,之后数据的自动复制将会带动信息传递到Worker的节点之中。

根据主节点的数据负载情况,将Map函数以及Reduce的任务函数分配到各个空闲的节点之中,将程序传到相对应的工作节点之中,尤其是当程序本身的大小与数据值相差较多的时候,Hadoop云计算平台能够实现高效率的数据平台移动。

在Hadoop云计算平台技术的辅助下,对于传输到的数据首先进行读取,若本地没有存储,可以采用就近的原则读取数据,将计算得出的结果放入缓冲区存储,之后对数据进行整理,取出中间结果,存入到本地的文件系统之中,通过Worker节点以及Master节点寻找最佳的任务进度完成情况以及存储的位置,方便日后对数据的调取以及远程读取。

二、基于Hadoop云计算平台的算法研究

2.1基于Hadoop云计算平台的并行计算

并行计算指的是多个计算单元同时运行带来的计算机处理性能的提高以及速度的加快,通过数据分割,每一个小数据都是用计算单元处理的,并行计算的主要架构有以下几种:

第一种是对称多处理架构,有内存共享功能,架构的总线以及交叉开关并行,形成有效的处理单元,高速缓存与IO设备组成一个多系统的并行的运行机制。

第二种是大规模的并行处理,大规模的星星处理在应用的时候能够形成多样的计算架构,形成上万台机器联合运转支持多种文件系统运行。

第三种是架构是随着Hadoop的发展,在Linux的平台上形成的集群系统,对于高性能的计算领域发展有非常重要的意义,系统规模的扩大能够单机几天互的电脑端口,最终形成就成千上万个集群系统。

并行技术在实施的时候有三种可以实施的方法,也叫做数据并行,任务并行或者数据任务结合的情况下有效实施,最终形成良好的结合方式。

数据并行最终是将多个数据集切成多个子集,分发到不同的处理机上运行,整理成自己的数据子集,将最终的数据并行结果按照属性进行记录,将不同的属性分列到不同的节点上进行处理,按照不同的节点进行执行,最终形成合并的处理结果。endprint

并行技术中的任务并行指的是将若干个需要解决的问题分成不同的步骤,在不同的时间节点进行处理,将任务并行策略分成两种,将若干个任务划分成为不同的子任务,分配到指定的节点,动态的任务分配过程最终形成数据的共享,与负载运行问题结合在一起。

在Hadoop云计算平台上,并行策略以及相关的算法对数据进行了切分,在各个节点处理各自的数据情况,有效地节省了集群间的通信体量,有效完善了计算机运行的效率。

2.2基于Hadoop云计算平台的算法基本思想

假定现有的云计算平台上的所有的数据都集成一个数据空间内,需要根据K类簇特征将所有的数据空间集成为一个特定的集合,每一个类簇中的数据元素都具有相同的数据元素,这些初始的数据在系统内都是依照存储节点以及Mapper的核的数目分类,最终将数据集合整理成为一个大的集合交给Mapper执行。自文件系统中,建立一个具有全局掌控能力的文件,所有的数据都可以使用这一个处理器实现高效率的访问,将所有的数据集按随机选择的K个类簇中心逐渐迭代成为K个类簇中心,所有的文件都是共享的,每次迭代之后都会产生新的jilu,ji第二次生成一些用来保存Canopy的列表,最终所有的信息都能够为全局的数据调动提供良好的支持。

每一个Master节点的负责人对各个计算节点都要进行适当地调度,向每一个Mapper分配需要的数据片,并将所需要的信息传输到相应的文件信息之中,当Mapper完成了该项任务之后,相应的运输结果就会传输给Master节点,之后节点的运转信息就会给适当的处理器处理,生成新的聚类中心,在读取之后按照新的聚类中心将之前的一轮聚类中心文件进行比较,如果两者之间的距离小于丁定阈值,则算法的聚类就能够顺利的完成,否则算法的下一步运算流程还要继续执行下一次的任务。

在Hadoop云计算平台上,Canopy-Kmeans的聚类算法在执行的时候有两个执行任务的阶段,一种是近似的、快速的、粗糙的所有数据集划分为一些相互重叠的子集,也就是canopy步骤,数据级集用比较精确的计算方法再跌代聚类,当然,这两个阶段的度量方法是不相同的,最终会得到重叠,之后所有的聚类算法计算得出的结果将进行有效的数据集合,多轮聚类计算,有效提高了数据计算的准确性,减少了复杂计算的发生,改善计算的准确度。

算法的步骤有以下几点:

第一步是数据的预处理,

第二阶段是生产Canopies,

第三阶段是将数据分配给Canopies,

最后一步是在并行的Kmeans聚类内运行。

在进行数据预处理的时候,对于数据的输入以及输出格式有特定的要求,将所有符合要求的数据集合成为一个特定的需要的形式能够在key内进行聚类,每一个数据都是按照<行数据,出现次数>的形式整合的。

在生成Canopies算法之后,对每一条预处理的数据进行记录认证,找到每一个数据记录的中心点,按照Canopy算法进行罩盖的划分,初始时,随机选择一条数据作为第一个Canopyld,Mapper逐条进行记录和判断,判断其是落在一个Canopy的之内,相应的记录编号,如果不能达到相应的要求,就会生成一个新的Canopyld。

生成对应的数据之后,在将数据标注在Canopyld的阶段,将所有第二个阶段生成的若干个数据分配到相应的Canopies之中,这些信息不被存在相应的位置,每个Mapper核心都会从中读取相应的Canopies信息之中,最终计算出自己的配比数据片在哪个具体的Canopies之中,并数出和相应的Canopyld列表,从中找出所有的Canopies信息,计算自己的分配数据属于哪一种类型,最终形成相对应的Canopyld列表。

当算法形成之后,运行Kmeans算法时不需要指定初始的K个中心点,只需要这些中心点在现有的Canopy算法中生效,也不需要計算到所有的中西聚类,仅仅是计算哪个Canopy更接近,无形之中加快了Mappper的进程。

三、总结

随着移动互联网的发展,数据呈现了爆发式的增长,大数据时代的悄然来临已经推动了现有行业的更新迭代,为了最大限度地挖掘行业的发展潜力,云计算技术成为了当下行业发展的热点,承载着多种技术发展的商业模式,本文重点分析了Hadoop云计算平台的技术,最终形成统一的运转程序,简化并行的程序开发,对底层的数据分割进行任务调度,并行处理,减少了容错问题的封装,提高了数据处理的效率。其中聚类分析的算法一直都是数据挖掘的重要内容,有效规整数据类别,提取有用的信息,实现天然的优势,取得令人满意的效果。

参 考 文 献

[1]…黎宏剑,…刘恒,…黄广文,等.…基于Hadoop的海量电信数据云计算平台研究[J].…电信科学,…2012,…28(8):80-85.

[2]…张石磊,…武装.…一种基于Hadoop云计算平台的聚类算法优化的研究[J].…计算机科学,…2012,…39(s2):115-118.

[3]…曹风兵.…基于Hadoop的云计算模型研究与应用[D].…重庆大学,…2011.

[4]…成静静.…基于Hadoop的分布式云计算/云存储方案的研究与设计[J].…数据通信,…2012(5):14-18.

[5]…马媛.…基于Hadoop的云计算平台安全机制研究[J].…信息安全与通信保密,…2012(6):95-98.endprint

猜你喜欢

数据分析数据挖掘
数据挖掘技术在内河航道维护管理中的应用研究
数据挖掘综述
软件工程领域中的异常数据挖掘算法
新常态下集团公司内部审计工作研究
浅析大数据时代对企业营销模式的影响
基于读者到馆行为数据分析的高校图书馆服务优化建议
基于R的医学大数据挖掘系统研究
一本面向中高级读者的数据挖掘好书