基于Spark平台的大数据挖掘技术分析

2018-03-26 08:07李艳红
科技资讯 2018年27期
关键词:数据分析

李艳红

摘 要:由于大数据具有其自身的独特性,即数据量大、多样性突出,所以在进行大数据分析时,在处理速度、效率和实时性等方面要求都非常高。而数据挖掘技术主要就是从大量数据中基于建模算法,寻找在数据中所隐藏的信息,以此促使大数据的价值得以充分发挥。Spark平台是一个针对超大数据集合的低延迟集群分布式计算系统,利用其进行大数据挖掘与分析更具优势。据此,本文主要对基于Spark平台的大数据挖掘技术进行了详细分析。

关键词:Spark平台 大数据挖掘技术 数据分析

中图分类号:TP311 文献标识码:A 文章编号:1672-3791(2018)09(c)-0007-02

1 基于Spark平台的大数据生态系统

1.1 Spark Runtime

Spark Core所包含的功能主要包括任务调度与内存管理等,其中包含故障系统性恢复和存储系统相互交互的对应子元素。在Spark中利用RDD结构,传输包装数据时,需要先大体了解Spark的核心逻辑数据信息,此类数据与对象概念存在一定程度上相似性。首先,所有数据全集被划分成若干子集,各子集都能够被传输到集群中的任意节点中加以处理。其次,计算的中间结果得以良好保存,基于可靠性进行问题思考,可以获得计算机结果相同并存放备份于子集节点的文件内容。再次,任意数据子集如果在计算过程中出现失误,必须重新整理子集,从而实现容错机制。

1.2 Graph X

Graph X是Spark中的关键子项目,需要基于Spark进行构建,在大规模图计算基础上,因为Graph X的衍生,可以促使Spark生态系统在处理大图的时候实现更加丰富的计算,而且在和其他相关组件实现系统融合的基础上,可以利用较强的数据处理能力,促使所有应用都可以通过多项场景获取。Graph X的作用是提供十分丰富的图数据操作符,因为类库定义过多,主要包含核心和优化操作符,而且部分被定义在Graph Ops操作符中。在利用Scale隐形语言转换特征的时候,可以调动Graph Ops的操作符。在Graph X中,可以基于多个分布集群进行图运算,并且API接口充足,尤其是到达一定图规模后,需要精益化算法,以此有助于利用分布式图集做大规模处理。Graph X的优点在于可以有效提高数据吸收与规模。

1.3 Spark Streaming

Spark系统是Spark Streaming数据分布式处理框架系统,在扩展Spark数据能力的基础上,促使Spark Streaming數据流严格按照时间方式分割单位,以此构成RDD,以较小时间间隔处理流式数据,受处理延时状况阻碍,从某种程度上来讲,可以看作准实时处理系统。Spark Streaming是极具有事的容错系统,在错误处理与恢复方面水平非常高,因此在处理错误上占据明显优势。另外,Spark Streaming可以和相关Spark生态模块实现无缝对接,所以在共同完成流数据后,还可以处理一些复杂现象。

2 基于Spark平台的开发环境及分布式集群构建

2.1 硬件系统要求

要想确保较好的兼容性与运行性,构建Spark分布式集群利用的物理主机都应采取Linux操作系统。选择1台主机的3台虚拟机进行环境测试,据此搭建Spark分布式集群,主要包含2个Worker节点与1个Master节点。其中Master的主要任务是单机编写并调节Spark分布式应用程序,配置相对较高。Master节点机器配置是4G内存和四核处理器,Worker节点配置是2G内存与二核处理器。各个节点的硬盘是以PCIE为基础的SSD固态硬盘,其读写效率较高,能够在很大程度上保证运行速度与工作质量。集群所构成的形式,不仅能够缩减运行成本,还能够依据需求对节点数量增加或减少进行适当调整。

2.2 构造分布式Spark集群

首先应安装Scala语言,把每台虚拟机的slaves文件内容修改成集群中Worker节点主机名,同时还需修改节点的Spark安装目录的Spark-env.sh文件。其中配置系统的jdk环境变量,修改系统Scala安装路径是Scala-Home。在集群中Master节点的主机名与IP地址利用Spark_Master_IP的属性值,其他选项则为默认。同时还要保证集群所有节点的Spark-env.sh文件和Slaves文件的内容保持高度一致,以此完成配置之后,通过jps命令查看集群启动状况。

2.3 配置Spark的IDE开发环境

IDEA是Scala语言的开发环境,也是重要基础,所以利用此作为Spark应用程序编程与开发环境。但是为了防止IDEA在使用中生产太多缓存文件,占据大量空间与消耗I/O资源,应选取SSD固态硬盘进行文件存储,以此保证良好性能。IDEA在配置完成之后,便可以开始测试Spark程序。

3 基于Spark平台的Apriori算法分布式实现

3.1 概述

Apriori算法是基于挖掘关联规则的频繁项集算法,能够反复扫描交易数据库,利用候选频繁集生成频繁集,主要流程是定义最小支持度,选取所有频繁项集,并以置信度为依据生成关联规则。

3.2 基于Spark平台的Apriori算法分布式实现

基于Spark平台的Apriori算法分布式集群的具体流程,如图1所示。其中算法的具体思路是:第一,产生频繁项集,把事务集通过RDD形式在各机器上加以分布,累积项目数量并保留比支持度较高的项集。第二,就频繁项集衍生频繁项集,项集自连接生成Ck+1,再扫描数据库,并依据C+1生成频繁项集。

4 基于Spark平台的分布协同过滤推荐实现

4.1 MLIib算法库

因为机器算法的流程十分复杂,因此在进行迭代计算时,任何计算都需要放入磁盘中,以待任务启动,但是这样一来便会消耗大量CPU。对此,在具体利用Spark时,部分工作能够直接在内存中运行,把迭代部分计算任务全部轉存于内存,从而提高迭代计算水平与效率,还能够在必要时进行磁盘与网络运作。所以说,Spark在迭代计算中极具优势,还能够发展成分布式机器学习平台。基于通信角度进行思考,Spark十分出色且高效,通讯效率非常高。在开展分布式机器算法学习的时候,部分资源都集中在各种集群节点,良好的通信效率可以进一步保证分布式算法的运行效果。

4.2 协同过滤算法

所谓协同过滤算法其实就是人们在使用的时候,会选择一个靠谱想法,并将此想法提供给用户。

4.2.1 系统过滤

在用户中选择兴趣爱好相似的用户,切实结合其喜好进行物品选择,并组织起来构成新集合或序列。用户可以直接定义成邻居,但是在此过程中的核心问题是怎样对用户间存在类似聘问或怎样对满足相关条件的用户进行针对性组织与利用。

4.2.2 协同过滤核心思想

协同过滤核心思想需要通过三大环节加以实现,即进行用户兴趣偏好收集,详细分析用户使用物品的相似性,依据计算加以推荐。系统推荐效果的关键性影响因素就是整合用户兴趣爱好。因为用户不同所提供的偏好方式也存在较大差异,而且还会受各种场景影响。在一般场景中,应选择一种用户系统,并依据用户行为进行小组划分,分组方式主要有两种:第一,就用户不同行为为依据进行分组。第二,就不同行为对用户兴趣爱好进行分组并加权处理。在全面收集数据行为之后,进行数据预处理。在此基础上,依据用户兴趣爱好,向用户推荐可能喜爱的物品,并采取一定的推荐方式,把协同过滤划分成基础用户协同和基于物品的协同两大类。在推荐中,选择最为适合的邻居,目前最常用的方式是固定邻居数量与规定邻居相似度门槛。

5 结语

总之,在Spark集群布置在Yam上后,既能够为算法实验提供良好的测试环境,还可以以线形适当扩大集群规模,切实应用到企业生产中去。有机结合Spark与MLIib制定分布式协同过滤推荐在分布式集群中的运行方案,并基于大数据集加以验证,便能够有效应用到大量推荐系统中去。而且基于Spark平台的分布式Apriori算法,在很大程度上弥补了MLIib中关联分析类算法的缺陷,并能够有效应用于大数据关联分析中。

参考文献

[1] 曹猛.基于Spark核心架构的大数据平台技术研究与实践[J].中国战略新兴产业,2018(28):130,132.

[2] 孟雅格.基于Spark平台大数据推荐系统的研究[D].西安电子科技大学,2017.

[3] 何美斌,胡精英.基于Spark R的大数据分析平台设计[J].电子技术与软件工程,2016(21):184.

[4] 邢英俊.基于Spark的大数据挖掘技术的研究[J].电脑知识与技术,2017,13(16):19-20.

猜你喜欢
数据分析
电子物证检验的数据分析与信息应用研究
基于matlab曲线拟合的数据预测分析
分众媒体趋势下场景营销的商业前景
佛山某给水管线控制测量探讨
SPSS在环境地球化学中的应用
大数据时代高校数据管理的思考
新常态下集团公司内部审计工作研究
浅析大数据时代对企业营销模式的影响
基于读者到馆行为数据分析的高校图书馆服务优化建议