1.2 国内外研究现状
1.3 本文研究内容和意义
本文通过分布式技术及web日志挖掘技术的研究和学习。熟悉hadoop分布式计算架,特别是web日志挖掘的流程,本文设计出一套基于hadoop的定时自动web日志挖掘系统。该系统中主要使用hadoop分布式框架作为基础,使用hadoop的并行计算框架mapreduce进行日志数据清洗,利用hadoop的HDFS作为分布式存储,并使用hive进行日志挖掘。挖掘的结果使用sqoop进行数据迁移,Hbase存储日志明细和mysql作为数据展示平台进行数据展示和查询。本文开发日志挖掘系统主要包括以下几个内容:
1、web日志的采集,怎么把apache服务器中的日志采集并自动传输到hadoop分布式存储系统中,本文拟采用flume框架,自动收集apache服务器中的日志[7]。
2、web日志的分布式存储,怎么存储从flume上采集过来的日志文件,web日志文件小则几GB,多则几十TB,所以对于日志文件的存储也是一个很大的挑战,既要考虑到文件的大小,也要考虑到文件的安全性,本文拟采用hadoop的HDFS分布式存储作为日志存储方案,把日志文件分割成128MB的小文件,负载均衡存储在各个子节点中,每个小文件存储三份,防止文件丢失,考虑了文件的存储,又兼顾了文件的安全性能[8]。
3、web日志的数据清洗,web日志中含有很多无效的信息,比如静态文件、图片的缓存信息等,这些信息影响日志分析的结果,所以在进行日志挖掘之前,必须对这些数据进清洗,本文拟使用mapreduce编程,对这些信息进行清洗,mapreduce能够调用多个子节点的cpu和内存进行计算,能够达到更快的速度完成计算[9]。
4、web日志挖掘,清洗后的web日志存储在HDFS上,HDFS并不能自动进行分析和挖掘,所以需要使用mapreduce进行数据挖掘,或者使用别的分布式计算框架,本文拟采用Hive分布式框架进行计算,hive进行数据挖掘,能够把每一个数据分析语句转化为mapreduce任务,进而调用多个子节点的资源进行计算[10]。
5、大数据迁移,日志挖掘完成后的内容存放在hive数据表中,使用hive进行数据展示,往往要调用mapreduce,所以会导致延迟非常高,所以需要把挖掘后的内容迁移到Hbase进行日志详情的展示,同时把hive数据挖掘后的表转移到mysql中,从而能够达到快速响应用户的查询请求,所以需要一个数据迁移的步骤,把所有的内容迁移到Hbase和mysql中[11]。
6、数据展示,本文拟采用Hbase分布式数据库存储清洗以后的日志详情,使用mysql存储和展示挖掘以后的信息和内容,以供开发人员快速的查询和及时对网站的内容和布局进行快速调整[12]。
上面是本文的主要研究内容,涉及到大数据存储,日志清洗、日志挖掘、日志迁移和日志展示等内容,使用hadoop框架进行开发主要是,能够大大解决现在web日志数据量巨大的存储问题,最主要是解决了计算问题,使单机计算需要几小时的工作在十几分钟内完成,大大的提升了效率,同时降低了公司的成本。本文提出的基于hadoop的web日志挖掘系统具有重要意义,主要表现在以下几个方面:
1、可以为用户提供个性化服务:根据每一个用户浏览和点击的内容进行挖掘,能够得到每一个用户的兴趣和偏好,能够在后台对每一个用户进行类别分类,对不同类别的用户推荐不一样的内容,提高用户的体验,增加用户的黏性。
2、优化网站内容:分析用户的点击和浏览内容,可以看出哪些内容受欢迎,哪些内容不受欢迎,为web开发者提供参考依据,从而对网站进行修改,满足用户的需求。
3、商业智能:比如一些电子商务网站,往往能够留下用户的评论、评分、满意度等等,可以根据这些数据,研究制定针对不同人群的营销方案、广告,从而以最少的成本,获得最大的影响力和推广。 基于云平台的web日志挖掘与研究(3):http://www.youerw.com/jisuanji/lunwen_39773.html