基于Hadoop的竞品分析系统的实现与优化

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:lrg123
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:在现如今互联网兴盛的时代,大数据能通过对数据的计算和分析体现出其数据的价值性,从而高效而准确地契合用户的需求。在其背景下,竞品分析行业模式也正由传统的P2P模式向多元化模式发展,其搜索引擎具有提供帮助广告商投放广告的支援系统。在Hadoop环境下,使用MapReduce框架进行计算,实现对离线数据的计算和分析,采用面向对象的方法编程,结合SSM 的web开发来进行需求的分析与功能的设计与实现。其主要功能包括有关键词搜索、域名搜索、域名竞争对手、关键词优化等功能。在系统需求分析的基础上,整个系统包括数据采集、清洗、过滤以及可视化,系统测试后,对集群进行优化,其中还通过研究粒子群算法实现对MapReduce的优化,最终实现全部功能。
  关键词:竞品分析;大数据;分布式;MapReduce;粒子群
  中图分类号:TP311 文献标识码:A
  文章编号:1009-3044(2019)10-0215-03
  开放科学(资源服务)标识码(OSID):
  1 引言
  目前的竞品分析市场是在现有的或潜在的竞争产品的优势和劣势的基础上进行评价,在传统模式中,需要经过相关专业的人员对竞品进行实地调查、分析、制定、调整等过程,其烦琐又耗时长。然而,随着科学技术的飞速发展,大数据技术已经深入到深入的各个领域,该竞品分析系统选择使用Hadoop技术对海量数据进行清洗过滤、存储和分析,便于帮助广告商投放广告,从而提高广告的转化率。
  2 相关技术的基本介绍
  2.1 HADOOP的相关介绍
  Apache Hadoop是一种开源框架,支持海量数据存储和离线计算,主要由HDFS分布式文件系统、MapReduce框架和Hbase数据库三大核心组件组成。
  2.2 粒子群算法的实现原理
  假设在一个[D]维空间中,有[m]个粒子组成一个粒子群,其中第[i]个粒子的空间位置为[Xi=(xi1,xi2,xi3,...,xiD);i=1,2,3,...,m],这个是优化问题的一个潜在解,并将其带入优化目标函数中进行计算出其相应的适应值,根据适应值可衡量[xi]的优劣;第[i]个粒子所经历的最好位置称其个体历史Best位置,记为[Pi=(pi1,pi2,pi3,...,piD);i=1,2,...,m],相应的适应值为个体最好适应值[Fi];同时,每个粒子还具有各自的飞行速度[Vi=(vi1,vi2,vi3,...,viD);i=1,2,...,m]。所有粒子经历过的位置中的最好位置称为全局历史最好位置,记为[Pg=(pg1,pg2,pg3,...,pgD)],其适应值为全局历史最优适应值。在算法中,对第[n]代粒子,其第[d]维[(1≤d≤D)]元素速度、位置更新迭代如式[(1)]、[(2)]:
  3 系统的设计
  3.1 系统的总体结构图
  该系统主要是由两个子模块组成,一个是在Hadoop环境下提供对数据进行处理和分析的模块,一个是基于B/S架构实现的WEB提供数据可视化模块。如图1:
  3.2 系统流程图
  4 系统功能的实现
  4.1 数据的清洗过滤
  数据清洗和过滤是对数据进行重新审查和校验过程,目的在于删除重复信息、纠正存在的错误,并提供数据的一致性。
  4.1.1 第一次迭代实现
  主要是数据清洗,清洗异常的数据,进而从原始数据中抽取相关关键词、SEM(Search Engine Marketing,搜索引擎营销)广告和SEO(Search Engine Optimization,搜索引擎优化)广告等关键信息。
  (1)根据数据抓取状态确定是否正常,或者关键信息是否为空等来清洗异常数据;
  (2)通过对解析后的数据文件进行读取其中的关键词和SEM广告和SEO广告信息;
  (3)数据抽取采用模板模式。
  4.1.2 第二次迭代实现
  主要是合并当次解析相关关键词、关键词下的SEM和SEO广告,并保存到数据库中。
  (1) 合并当次解析相关关键词和SEM、SEO广告,并按照搜索引擎、地域等标准进行归类合并;
  (2) 连接Hbase数据库,把当次的结果和历史结果进行汇总合并,最后更新数据库。
  4.1.3 第三次迭代实现
  主要是解析域名、域名下的SEM和SEO广告、域名下的相关关键词以及域名下的竞争对手,并保存到数据库中。
  (1)两个域名都关联一个同一个关键词,即存在竞争关系,找出所有存在竞争关系的域名;
  (2) 合并当次解析域名、域名下的相关广告、域名下的相关关键词以及域名下的竞争对手,并按照搜索引擎、地域、域名等标准进行归类合并;
  (3)连接Hbase数据库,把当次的结果和历史结果进行汇总合并,最后更新数据库。
  4.2 数据的可视化
  对于该系统,数据的可视化界面如图3:
  5 系统的优化
  5.1 从架构设计进行优化
  对于查询性能而言,原始的查询方式是基于HBase,发现查询的数据比较集中,效率低下,单一使用HBase提供所有数据查询支撑给WEB端,导致HBase的压力大。而Redis是基于内存的分布式数据库,具有高效读写、缓存策略的特性,針对这一特性,在HBase上架设了一个Redis做中间数据缓存,系统数据从缓存中查询,测试后,查询效率提高了,HBase的压力也相对减少了。
  5.2 从算法角度进行优化   (1)通过研究基本粒子群算法,并将其运用到MapReduce中对其集群系统进行调优。鉴于该竞品分析系统的特性,优化整个系统,其主要是优化MapReduce,亦是使每个Reduce处理的Value个数基本相等,使每个job的总的运行时间最短;即求每个Reduce处理的所有Value值个数的最大值的最小值。即[f=min(max(reduce(i))),i=1,2,3,...,n],n为Reduce的个数,[reduce(i)]为第[i]个Reduce处理的Value的和。[reduce(i)=sum(size(value(j)))],[value(j)],为输入第[j]个Key的Value的个数。Hadoop的Map输出是的形式,Hadoop的Partition的输入是 Map的输出,Partition的输出是形式。在每一个Map结束后运行一次粒子群算法,将本次的发送到不同的Reduce,达到局部最优。每个Map都局部最优,最后整个MapReduce就会达到全局最优。这样可以尽可能让每个Reduce处理的数据达到负载均衡,从而达到对整个竞品分析系统的优化。如图4。
  (2)如图5所示,经过比较,在使用粒子群算法優化后,发现Job运行时间相比原始的运行时间越来越短。
  6 总结
  传统的竞品分析行业的发展模式已不能满足目前的需求,而采用分布式计算服务模式,能满足该系统对海量数据的计算、存储和分析。
  在该系统的设计与实现过程中,难点如下:
  (1)从不同的角度对系统进行优化;
  (2)使用智能算法优化时,如何区分每个Map是一个难点,并将此Map处理的Key取Hash存储在Redis中,然后在此Map结束后的Partition阶段取出对应的数据进行计算。其实MapReduce底层实现的过程中,每个Map就是一个多线程,通过获取每个线程的ID从而区分每个Map。
  参考文献:
  [1]陈琳.浅论Hadoop平台在大数据中的应用[J].太原学院学报,2017,26(13):56-60.
  [2]周锋,李旭伟.一种改进的MapReduce并行编程模型[J].科协论坛,2014(15):65-70.
  [3]郁磊.MATLAB智能算法30个案例分析[M].北京:北京航空航天大学出版社,2015:45-107.
  [4]Tom White,Hadoop权威指南[M].4.王海.北京:清华大学出版社,2017:78~314.
  [5]曹英.大数据环境下Hadoop性能优化的研究[D].大连海事大,2013.
  [6]王婧.基于粒子群优化算法的集群调度策略研究掘[D].中国石油大学,2011.
  [7]红杨勇,任淑霞,冉娟.基于粒子群优化的k-means改进算法实现Web日志挖掘[J].计算机应用,2016,12(26):29~35.
  [8]陶永才,石磊.异构资源环境下的MapReduce性能优化[J].小型微型计算机系统,2013,35(02):287-292
  [9]张宏伟.基于MapReduce的遗传算法在组合优化问题中的研究[D].内蒙古农业大学,2016.
  [10]张志宇.粒子群优化算法的改进研究及其应用[D].计算机科学,2017,46(15):53-70.
  [11]冯新建.基于MapReduce的迭代型分布式数据处理研究[D].山东大学,2017.
  [12]Shuihua Wang,Yudong Zhang.Feed-forward neural network optimized by hybridization of PSO and ABC for abnormal brain detection[J].Int. J. Imaging Syst.Technol,2015,32(2):10-16
  【通联编辑:梁书】
其他文献
随着全球人口老龄化的发展,患“肌肉衰减综合征”的人群的比例将不断加大。目前的研究结果表明,通过改变蛋白质摄入模式,摄入足够的富含亮氨酸的乳品蛋白质可以最大限度地促进每
范中林(1895——1989),四川郫县太和镇人,蜀中现代名医,曾师从潘竹均等名医。多年潜心于《伤寒论》的研究,善用经方,辨证以六经为法,在治疗外感和内伤杂病方面积累了丰富经验,对于虚寒
随着熔融沉积造型(FDM)3D打印技术应用的不断发展,大众创业、万众创新,3D打印机已走入医疗、家庭等生活场景。而3D打印过程中排放出的微细颗粒物是雾霾(PM2.5)源之一,严重影
红外制导是一种被动的制导方式。因其隐蔽性强、探测距离远、空间分辨率高,在现代战争中红外面源制导也得到了广泛的应用。当红外探测器离目标较远时,目标在图像以点的形式出
中国加入世贸组织,将深化人们对社会主义市场经济的认识,拓宽依法治国的思路,转换体制改革的视角,推进国家政治与经济体制的创新和发展.
摘要:随着信息技术的进步,计算机学科与其他学科的交叉发成为新的趋势。在程序设计类课程教学中,培养计算思维的能力与讲授专业知识同等重要。本文阐述了计算思维的重要性,并以C程序设计课程为例,探讨了以培养计算思维能力为主的教学改革方法与思路。  关键词:C程序;教学改革  中图分类号:TP311 文献标识码:A  文章编号:1009-3044(2019)12-0111-02  1 计算机思维的重要性  
随着市场经济的发展,一些中介组织和行当得以迅速发展。纵观今日中国,"代理"这一新的中介服务方式在各行各业日趋兴盛,大有方兴未艾之势。经销总代理1994年,广东今日集团"生
本文分析了新建地方本科院校计算机公选课开设中存在的问题及产生的原因。并根据实际情况提出了改进的办法,将课程分为一类、二类和三类课程,学生按课程的优先级别选课。教学
面对日益激烈的市场竞争,虚拟企业与虚拟经营应运而生。现代信息技术的高整发展更加速了这一进程。因此,探讨虚拟企业的运作及其对我国企业发展的启迪,意义重大。
现代生活节奏越来越快,令人时常感到身心压力巨大,疲劳不堪。长期如此,对身体健康有害无益。学会解除疲劳,获得轻松愉快的心境,更好地投入工作和学习,正是现代人追求的。为此,不妨按