论文题目:基于Mahout的数据分析决策系统的设计与实现
类别(领域):工程硕士(软件工程)
学位申请人:
指导教师:
摘 要
社交网络及移动互联网的发展使得个人和企业每天都能生产出大量的数据。从这些数据中挖掘有价值的信息,能够为个人和企业提供决策支持。传统的数据分析决策系统以商业软件的形式发布,价格昂贵,并且需要安装部署,使用起来很不方便。为了解决这些问题,针对不同的用户,实现一个分布式的在线数据分析决策系统就有着重大的现实意义。
本文设计并实现了一个基于开源软件Mahout的数据分析决策系统,个人用户可以通过浏览器直接在线使用该系统,提交数据进行分析建模并利用系统模板生成预测分析报告,高级用户还可以进行二次开发,增加业务分析的模块,并通过构建Hadoop集群处理海量数据。论文从课题的应用背景出发,首先研究了Hadoop分布式计算平台、数据挖掘相关算法、Mahout软件库、R语言环境等关键技术。然后借助UML图描述了数据分析决策系统的业务逻辑,并获取系统的功能性需求和非功能性需求。在此基础上,对数据分析决策系统进行了设计,完成了概要设计和详细设计,获取了系统的软件体系结构和数据库,解决了系统的关键技术难题。最后,在软件工程的指导下,实现基于Mahout的数据分析决策系统Big Decision,并对系统进行测试。
本文将数据分析决策软件打包以服务的形式提供给用户,方便了系统用户的使用。开发的Big Desicion系统基本上实现了预期的目标,能够完成基本的数据分析功能并提供了决策支持,具有一定的应用价值。同时本文采用模块化的开发方法,使得系统方便维护,并且在未来系统开发升级中方便扩展。
关 键 词:数据分析;分布式计算;数据挖掘算法;决策支持;云计算
论文类型:应用研究
Title: Design and Implementation of Data Analysis and Decision System Based on Mahout
Professional Fields: Software Engineering
Applicant:
Supervisor:
ABSTRACT
目 录
1 绪论 1
1.1 选题意义及应用背景 1
1.2 国内外研究现状分析 2
1.3 论文的主要研究内容 3
1.4 论文的组织结构 4
2 相关理论与技术 5
2.1 Hadoop分布式计算平台 5
2.1.1 Hadoop分布式文件系统 5
2.1.2 MapReduce 6
2.2 数据挖掘相关概念与算法 6
2.2.1 数据挖掘准备 6
2.2.2 数据预处理 7
2.2.3 数据挖掘相关算法简介 8
2.3 Mahout软件库 10
2.3.1 推荐引擎 11
2.3.2 聚类 11
2.3.3 分类 12
2.4 R语言环境 13
2.4.1 R语言简介 13
2.4.2 R图表制作 13
2.5 本章小结 13
3 基于Mahout的数据分析决策系统的分析 14
3.1 数据分析决策系统的业务需求 14
3.1.1 业务需求描述 14
3.1.2 系统角色分析 15
3.2 数据分析决策系统的分析模型 16
3.2.1 数据分析决策系统的功能模型 16
3.2.2 数据分析决策系统的结构模型 18
3.2.3 数据分析决策系统的行为模型 19
3.3 数据分析决策系统的非功能性需求分析 25
3.4 本章小结 25
4 基于Mahout的数据分析决策系统的设计 26
4.1 数据分析决策系统的概要设计 26
4.1.1 数据分析决策系统的软件体系结构 26
4.1.2 数据分析决策系统的功能模块结构 27
4.2 数据分析决策系统的详细设计 28
4.2.1 数据分析决策系统的类设计 28
4.2.2 数据分析决策系统的UI设计 32
4.3 数据分析决策系统的关键技术设计 34
4.3.1 网站运行自动化监控技术设计 34
4.3.2 分布式计算 35
4.3.3 应用集群的缓存管理技术 36
4.3.4 分布式文件存储与分发技术 37
4.4 数据分析决策系统的数据库设计 37
4.4.1 系统业务数据库设计 38
4.4.2 数据库中的数据迁移 41
4.5 本章小结 41
5 基于Mahout的数据分析决策系统的实现与测试 42
5.1 系统开发环境简介 42
5.2 数据分析决策系统的实现 42
5.2.1 自动化开发流程控制的ant脚本 42
5.2.2 平台工具包的实现 45
5.2.3 数据分析算法的实现 47
5.3 数据分析决策系统的测试 50
5.3.1 系统的功能测试 50
5.3.2 系统的性能测试 51
5.3.3 浏览器兼容性测试 52
5.4 数据分析决策系统的运行效果 52
5.5 本章小结 54
6 结论与展望 55
6.1 结论 55
6.2 展望 56
致 谢 57
参考文献 58