伴随着大数据科技的发展和成熟,越来越多的企业和机构使用大数据来进行分析和决策。其主要的分析数据来源于日志文件,所以对日志文件的分析是很重要的也是很关键的步骤。
本系统实现的功能是,将日志信息生成、日志信息传送、日志信息分析,最后落地并可视化展示。完成的业务需求是统计课程TOPN信息,按照地市统计课程TOPN信息,按照流量统计TOPN信息。
系统从需求分析、结构设计、数据库设计,最后到系统实现,分别实现了数据采集、数据收集集群、消息队列、大数据集群、spark数据的处理和落地、java web从数据库读取数据并可视化的功能。本文从系统描述、系统分析、系统设计、系统实现和系统测试几个方面对系统进行了描述和开发。系统使用了大数据的各个框架来辅助完成数据采集和分析功能。系统使用了hadoop集群和spark混用的模式,日志采集使用了flume框架对日志进行采集处理,消息队列使用了kafka框架来搭建,使用zookeeper进行集群容错性管理。最后Spark集群上使用了SparkSQL来对大数据进行离线批处理。在可视化的过程中使用了echarts开源框架等技术进行实现。
关键字:sparkSQL;离线批处理;日志采集;mysql数据库;echarts
Abstract
With the development and maturity of big data technology, more and more enterprises and organizations are using big data to analyze and make decisions. The main analysis data comes from log files, so the analysis of log files is very important and a key step.
The function of this system is to generate log information, log information transfer, log information analysis, and finally landing and visualizing display. The completed business requirement is TOPN information of statistics course, according to TOPN statistics of local city statistics course, and TOPN information according to traffic statistics.
From demand analysis, structure design, database design, and finally to the system implementation, the system realizes data collection, data collection cluster, message queue, large data cluster, spark data processing and landing, and Java Web reads data from database and visualizes the data. This paper describes and develops the system from aspects of system description, system analysis, system design, system implementation and system testing. The system uses various frameworks of big data to assist in data acquisition and analysis. The system uses the model of Hadoop cluster and spark, the log collection uses the flume framework to collect and process the log, the message queue uses the Kafka framework to build, and uses zookeeper to manage the fault tolerance of the cluster. Finally, SparkSQL is used to cluster large data on Spark cluster. In the process of visualization, echarts open source framework is used to implement the technology.
Keywords: spark SQL; offline batch processing; log collection; MySQL database; echarts
目 录
1 概述 6
1.1 开发背景 6
1.2 开发意义 6
1.3 论文结构 7
1.4 本章小结 8
2 关键技术和使用的工具环境等的说明 9
2.1 IDEA简介 9
2.2 HTML/CSS简介 9
2.3 Spark简介 10
2.4 SparkSQL简介 10
2.5. Hadoop简介 11
2.6. ECharts简介 11
2.7. Mysql简介 11
2.5 本章小结 12
3 需求分析 13
3.1 功能需求分析 13
3.2 业务流程分析 13
3.3 数据流图 17
3.4 数据库概念模型设计 20
3.5 本章小结 20
4 总体设计 21
4.1 系统网络架构设计 21
4.2 系统总体设计 21
4.3 系统功能模块设计 22
4.4 数据库逻辑结构设计 24
4.5 本章小结 24
5 详细设计 25
5.1 程序系统的结构 25
5.2 大数据集群框架模块设计说明 25
5.2.1 程序描述 25
5.2.2 功能 25
5.2.3 算法 26
5.3 大数据处理模块设计说明 26
5.3.1 程序描述 26
5.3.2 功能 27
5.3.3 算法 27
5.4 数据可视化模块设计 27
5.4.1 程序描述 27
5.4.2 功能 28
5.4.3 算法 28
5.4 数据库详细设计 28
5.4.1 数据库表设计 28
5.4.2 数据库连接设计 30
6 系统编码 32
6.1 数据清洗的实现 32
6.2 数据库工具类编写实现 34
6.3导入IPUtils工具类对IP进行解析 36
6.4编写Dao层将数据解析并存储到数据库中 36
6.5 对各维度数据的统计并调用Dao入库 40
6.6 构建数据可视化项目 45
6.7 使用echarts进行数据可视化 47
6.8 本章小结 50
7 系统测试 51
7.1 运行环境说明 51
7.2 服务器集群测试 51
7.3 单元测试 52
7.4 测试结果 55
7.5 本章小结 55
结束语 56
参考文献 58
致 谢 59