论文部分内容阅读
互联网技术的快速发展,给人们的生活带来了翻天覆地的变化,人们在互联网浪潮中享受服务的同时,也在不断的向网络传播信息,由用户上网产生的日志数据日益膨胀,这些数据蕴含着巨大的潜在价值,如何从海量日志数据中快速挖掘出有价值的信息,对人类社会的进步与发展具有重要的意义。日志数据具有数据量极大、分布范围极广、价值密度极低等特点,对日志数据的处理与挖掘并不是一件容易的事。目前大多数传统企业日志分析系统还是单机的,已经无法满足对海量日志数据的存储和计算需求,如何提高挖掘效率,降低挖掘成本也是亟待解决的一个问题。针对上述问题,本文提出并设计一种基于Hadoop的Web日志分析系统。主要研究内容如下:1.论文介绍了课题产生的背景与意义,阐述了当前的分布式及日志挖掘现状。深入研究了 Hadoop技术包括HDFS文件系统和Map Reduce并行计算框架。对Sqoop数据迁移工具以及Hive数据仓库进行了分析。2.研究了 Web日志挖掘理论及聚类算法。针对传统K-means算法进行了分析,提出一种改进的并行K-means算法,并将改进后的算法应用于分布式Web日志系统以完成日志的聚类分析。3.使用Hadoop平台对Web日志数据预处理。包括数据清洗、用户识别、会话识别、路径补充,并给出预处理函数的Map设计和Reduce设计。4.重点介绍了日志分析系统的设计与实现。功能模块包括日志存储、日志预处理、关键指标统计、数据展示、日志挖掘。其中日志预处理模块较为重要,在第三章已单独实现。日志存储采用HDFS和MySQL相结合的方式,原始数据和清洗后的数据存储在HDFS。指标统计采用Hive Sql,统计结果使用Sqoop导入到MySQL存储方便可视化展示。日志挖掘采用改进的并行K-means算法对注册用户聚类分析。5.搭建系统并对实验结果分析。实验表明,基于Hadoop的Web日志分析系统实现了系统的功能,完成了指标统计以及可视化展示;改进的并行K-means算法能够对注册用户聚类分析,提高了聚类的效率,借助分布式系统可以应对大规模日志数据的挖掘与分析。