范文写作网 > 计算机网络毕业论文 > > 基于Hadoop平台的用户行为挖掘
计算机网络毕业论文

基于Hadoop平台的用户行为挖掘

摘要:摘 要: 随着互联网发展带来的数据爆炸,使得Web日志的数据量也越来越大,如何从海量的Web日志中挖掘有价值的信息成为了目前研究的热点。本文提出了基于Hadoop集群框架对Web日志进行挖掘。实验结果表明,该集群系统既可以处理海量的web日志,同时也能够挖掘
关键词:基于,Hadoop,平台,用户,行为,挖掘,随着,互联网,发

神仙膏,鲁能星城业主论坛,都市品香录合集

  摘 要:随着互联网发展带来的数据爆炸,使得Web日志的数据量也越来越大,如何从海量的Web日志中挖掘有价值的信息成为了目前研究的热点。本文提出了基于Hadoop集群框架对Web日志进行挖掘。实验结果表明,该集群系统既可以处理海量的web日志,同时也能够挖掘出有价值的信息,并证实了利用sqoop在Hive仓库和传统数据库之间数据迁移的可行性。

  关键字:Web日志;Hadoop;Sqoop;Hive;数据迁移

  1 引言

  互联网的快速发展,使得Web日志数据呈现出爆炸式的增长,这些海量的Web数据中蕴含了大量的信息,这些信息对企业而言是一笔巨额的财富,企业的发展需要这些数据提供更好的战略决策支持,因此对这些数据具有极大地挖掘需求;这使得从海量的Web数据中挖掘有用的信息成为了目前研究的热点,同时大规模的计算能力成为Web数据挖掘技术能否有效实现的外部需求[1]。

  针对海量数据处理出现的技术问题,以Hadoop[2]为代表的新技术得到了国内外科技工作者的极大关注;Hadoop平台的最大优势是它实现了“计算靠近存储”的思想[3],此思想省去了海量数据网络传输的这一大开销,大大减少了数据处理时间,同时其并行化的数据处理方式非常适用于处理海量数据。

  针对Hadoop分布式处理海量数据的优势,国内外一些学者纷纷对Hadoop平台进行了相关研究,文献[4]基于Hadoop平台,实现了对Web数据的并行化处理,提高了数据运行处理时间;文献[5]通过基于Hadoop平台,设计了一个用于处理海量搜索日志的分析平台;文献[1, 6]基于Hadoop平台进行了Web日志挖掘实验,并证实了Hadoop平台的可用性。

  本文基于Hadoop平台首先对Web日志进行了数据清洗,根据数据挖掘的具体需要,过滤冗余、异常或者与挖掘目的无关的信息,然后通过HIVE数据仓库分析用户行为的关键指标,对Web日志数据进行用户行为挖掘,利用MySQL进行挖掘结果展示,同时利用了sqoop[7]组件在关系型数据库与非关系型数据库进行了数据迁移。

  2 相关技术介绍

  Hadoop是Apache软件基金会旗下的一个分布式计算平台。以Hadoop分布式文件系统(Hadoop Distributed File System,HDFS)和MapReduce[8](Google MapReduce的开源实现)为核心的Hadoop为用户提供了系统底层细节透明的分布式基础架构[2]。

  对于Hadoop的文件系统HDFS具有高容错性的特点,它可以设计部署在低廉的硬件上,同时它可以通过提供高吞吐率来访问应用程序的数据。

  MapReduce是一种编程模型,用于大规模数据集的并行运算,它主要以对数据进行映射(Map)、化简(Reduce)来实现计算,即MapReduce在执行时先指定一个Map(映射)函数,把输入键值对映射成一组新的键值对,经过一定处理后交给Reduce,Reduce对相同Key下的所有value进行处理后再输出键值对作为最终的结果。

  Hive[9]是一个基于Hadoop文件系统之上的数据仓库架构,它为数据仓库的管理提供了许多功能:数据ETL(抽取、转换和加载)工具、数据存储管理和大型数据集的查询和分析能力;同时Hive定义了类SQL的语言―Hive QL。

  HBase是一种NoSQL存储数据库,它可以用来快速随机读写大规模数据,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价机器上搭建起大规模结构化存储集群[10]。HBase利用HDFS作为其文件存储系统,利用MapReduce来处理HBase中的海量数据,利用Zookeeper作为协调工具。

  Zookeeper是Google的Chubby一个开源的实现,是一个为分布式应用所设计的开源协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务、配置维护和命名服务等;用户可以使用Zookeeper提供的接口方便地实现一致性、组管理、leader选举及某些协议,同时Zookeeper不仅可以为单机提供服务,同时也支持多机组成集群来提供服务。

  Sqoop[7]是“SQL to Hadoop”的缩写,是一款用于在Hadoop系统和结构化数据存储系统间进行数据交换的软件,它可以用于将传统数据库(如MySQL、Oracle)中的数据导入HDFS由MapReduce程序或Hive工具使用,并支持将处理后的结果数据导出到传统关系型数据库中[11]。

  3用户行为挖掘的关键指标介绍

  浏览量PV:页面浏览量即为PV(Page View),是指所有用户在该网站浏览页面的总和,一个独立用户每打开一个页面就被记录1次;对于网站总浏览量,其可以作为考核用户对于网站的兴趣。同时对于网站运营者来说,更重要的是网站每个栏目下的浏览量。

  注册用户数:每一天网站新注册的用户人数;运营者通过对注册用户数分析可以查看出网站推广状况。

  IP数:一天之内,访问网站的不同的独立IP 个数总和;其中同一IP无论访问了几个页面,独立IP 数均为1。

  跳出率:只浏览了一个页面便离开了网站的访问次数占总的访问次数的百分比,即只浏览了一个页面的访问次数 / 全部的访问次数汇总;跳出率是非常重要的访客黏性指标,它显示了访客对网站的兴趣程度,即跳出率越低说明流量质量越好,访客对网站的内容越感兴趣,这些访客越可能是网站的有效用户、忠实用户;该指标也可以衡量网络营销的效果,指出有多少访客被网络营销吸引到宣传产品页或网站上之后,又流失掉的人数。

  4用户行为挖掘的平台设计

  日志采集模块:负责将各个前端web服务器中的日志传送到日志接收节点上。这里可以采用每天定时的将各个服务器中的日志传送到接收节点。对于日志服务器数据较小时,接收节点可以通过shell命令直接将日志数据上传到HDFS中;如果日志服务器非常多,数据量大时,可使用flume进行数据处理。

  日志清洗模块:通过Hadoop的编程框架MapReduce对上传到HDFS的原始数据进行清洗;具体工作可分为两个阶段:Map阶段和Reduce阶段。这两个阶段分别用两个函数来表示,即Map函数和Reduce函数。Map函数接收一个形式的输入,然后产生同样为形式的中间输出,Hadoop会负责将所有具有相同中间key值的value集合到一起传递给Reduce函数,Reduce函数接收一个如形式的输入,然后对这个value集合进行处理并输出结果,Reduce的输出也是形式的。