logo资料库

电商数据分析平台的设计与实现-论文.doc

第1页 / 共51页
第2页 / 共51页
第3页 / 共51页
第4页 / 共51页
第5页 / 共51页
第6页 / 共51页
第7页 / 共51页
第8页 / 共51页
资料共51页,剩余部分请下载后查看
第一章 绪论
1.1项目背景和意义
1.2项目研究内容
1.3论文组织架构
第二章 相关技术介绍
本章主要介绍在电商数据分析平台中所涉及到的相关技术,主要包括Spark、SparkSQL、Spark
2.1大数据技术介绍
2.1.1Spark简介
2.1.2 弹性分布式数据集RDD
2.1.3数据处理模块SparkSQL
2.1.4实时数据处理SparkStreaming
2.1.5 Hive数据仓库
2.2 MySQL数据库介绍
2.3 Highchart简介
2.4 本章小结
第三章需求分析
3.1 可行性分析
3.1.1经济可行性
3.1.2 技术可行性
3.1.3 操作可行性
3.2功能需求分析
第四章 电商数据分析平台设计
3.1项目背景
3.2 系统架构设计
3.3 数据生成模块的设计
3.4数据存储模块的设计
3.5数据分析模块的设计
3.5.1 用户访问Session统计模块设计
3.5.2 页面单跳转化率统计模块的设计
3.5.3 地区热门商品统计模块设计
3.5.4广告流量实时统计模块的设计
3.6数据可视化模块设计
3.7 本章小结
第五章 电商数据分析平台实现
4.1项目数据集描述
(1)user_action
(2)user_info
(3)product_info
4.2系统环境搭建
4.2.1 zookeeper与Kafka搭建
4.2.2 Spark环境搭建
4.2.3本地开发环境搭建
4.3数据生成模块实现
(1)离线模拟数据
(2)实时模拟数据
4.4数据存储模块实现
4.5数据分析模块实现
4.5.1用户访问Session统计模块实现
4.5.2页面单跳转化率统计模块实现
4.5.3地区热门商品统计模块实现
4.5.4广告实时统计模块实现
4.6 本章小结
本章主要对电商数据分析平台的系统搭建过程进行详细的介绍,并且对平台的数据生成模块、数据存储模块、数据
第六章 数据可视化模块
第七章 项目的测试与分析
5.1 Kafka与生成数据对接测试
5.2模块测试
5.3本章小结
总结与展望
参考文献
谢辞
南华大学计算机学院毕业设计 电商数据分析平台的设计与实现 摘 要:随着互联网技术的飞速发展,新兴技术如大数据、云计算等逐渐影响着 我们生活的方方面面,人们在互联网上的行为和语言会以数据的形式存储下来, 这些存储下来的数据中隐藏着巨大的价值。在大数据背景下,我国电子商务行业 发展迅猛,如何顺应当下背景,抓住大数据这一机遇,是诸多电商企业面临的挑 战。 电商数据分析平台采用 SparkCore+SparkSQL+SparkStreaming 的大数据分析 技术,并用 MySQL 作为数据库存储数据。本平台主要包括数据生成、数据分析、 数据存储和数据可视化四个模块。通过电商数据平台对海量数据的分析,筛选出 具有商业价值的数据,并利用可视化网站直观地呈现数据,辅助企业调整战略和 业务,促进企业的发展。 关键词:大数据;电商;数据分析 第 1 页 共 51 页
南华大学计算机学院毕业设计 Design And Implementation of E-commerce Data Analysis Platform Abstract:With the rapid development of Internet technology, emerging technologies such as big data and cloud computing are gradually affecting all aspects of our lives. People's behaviors and languages on the Internet are stored in the form of data. These stored data are hidden hugely. the value of. In the context of big data, China's e-commerce industry is developing rapidly. How to take advantage of the big background and seize the big data is a challenge for many e-commerce companies. The e-commerce data analysis platform uses SparkCore+SparkSQL+SparkStreaming's big data analysis technology and uses MySQL as a database to store data. The platform mainly includes four modules: data generation, data analysis, data storage and data visualization. Through the analysis of massive data by the e-commerce data platform, the data with commercial value is screened out, and the visualized website is used to visually present the data, assisting the enterprise to adjust the strategy and business, and promote the development of the enterprise. Key words: big data;E-commerce;data analysis 第 2 页 共 51 页
南华大学计算机学院毕业设计 第一章 绪论 1.1 项目背景和意义 随着互联网、传感器和各种数字终端的普及,一个由相互联系的事物组成的 世界正在形成。同时,随着数据的爆炸式增长,数字化已成为现代社会建设的基 本力量。 根据 IDC 的报告“数据时代 2025”,全球生成的年度数据将从 2018 年的 33 ZB 增加到 175 ZB,而全球生成的每日数据将在 2025 年达到 491EB[1]。 其中,以电子商务交易数据、社交网络数据和移动数据为代表的三种主要非结构 化数据将占全球总数据的 90%[2]。 在今天的互联网上,用户每时每刻的行为都会产生大量的数据,据统计,每 秒会产生上百万次的查询,千万次的浏览。规模较大的电商企业都会采集用户的 行为数据(比如用户访问、用户画像、搜索行为),但是这些企业都不知道采集用 户的行为数据与商业数据(如销售额、订单转换)之间有什么联系,如何使这些 纷繁复杂的数据产生价值。要想让这些数据真正成为一个公司的家当,及时从中 发现实用的价值,那么通过数据分析技术对数据进行挖掘与分析则变得极其重 要。 数据分析在电子商务的企业管理中是非常重要的。将数据分析的结果应用在 企业内部的客户、营销管理等中,通过数据分析的结果发现营销手段和客户体验 等方面的不足并找出企业管理的问题。 1.2 项目研究内容 本系统的研究内容正是上述背景下存在的问题,基于 Spark 的电商数据分析 平台能够更快地处理离线数据并且对处理的结果有更好的处理。本平台采用的数 据是离线数据源和实时模拟数据源。因而,本系统的设计重心主要置于数据的分 第 3 页 共 51 页
南华大学计算机学院毕业设计 析模块和数据的可视化模块。数据可视化模块通过 HighChart 图表对分析好的数 据进行展现。本系统实现对庞大数据的处理与分析,挖掘有商业价值的数据,并 用前端可视化网站展现处理的数据,如 3D 饼状图,条形图,柱形图,梯形图等, 这可以让用户很直观地获取到重要信息。 1.3 论文组织架构 本文介绍了如何搭建电商数据分析平台,并展示数据的生成、数据的分析、 数据的存储以及数据的可视化这一整体流程的设计与实现。以下介绍本文的章 节。 第二章主要简单阐述了本课题中所用到的技术和理论知识,为电商数据分析 平台的设计与实现提供了技术知识和理论基础。 第三章介绍了电商数据分析平台的功能,主要介绍数据的生成、数据的分析、 数据的存储主要模块,并将数据通过构造可视化网站展现出来。 第四章主要阐述 spark 集群搭建和数据分析的具体代码编写。 第五章主要阐述对搭建的 spark 相关集群和数据分析代码进行测试。 第 4 页 共 51 页
南华大学计算机学院毕业设计 第二章 相关技术介绍 本章主要介绍在电商数据分析平台中所涉及到的相关技术,主要包括 Spark、 SparkSQL、SparkStreaming、Hive 数据仓库、Kafka 消息队列、MySQL 数据库以 及 HighChart 框架。 2.1 大数据技术介绍 2.1.1 Spark 简介 Spark 于 2009 年在加州大学伯克利分校 AMPLab 开发完成,并于 2013 年成为 Apache 的核心项目之一。该项目是用 Scala 编写的,项目最核心部分只有六十 三个 Scala 文件,非常小巧紧凑。Spark 是一个快速而通用的集群计算框架,它 扩展了广泛使用的 MapReduce 计算模型,并且专注在高速处理可重用数据集并 以扩展了更多的计算模式的高效应用,如批处理、流处理、迭代算法、交互式查 询等[4]。通过在统一框架中支持不同的流程,Spark 可以轻松高效地联合流程。对 于实际的数据分析,这种联合非常有意义。 不仅如此,Spark 的功能还大大减 轻了各种平台单独管理的负担并提高了性能。 2.1.2 弹性分布式数据集 RDD RDD 是弹性分布式数据集的缩写,是 Spark 中最基本的数据抽象,它表示了 一组不可变、可分割和并行的可计算元素。在 Spark 中,对数据的所有操作无非 是创建 RDD、转换现有的 RDD 和调用 RDD 操作。每个 RDD 被划分为多个分区,这 些分区在集群的不同节点上运行。RDD 可以包含在 Python、Java、Scala 的所有 对象甚至是用户定义的对象中。RDD 具有数据流模型的特点:自动容错、位置感 知调度和可扩展性。RDD 允许用户在执行多个查询时在内存中显式缓存工作集, 第 5 页 共 51 页
南华大学计算机学院毕业设计 后续查询可以重用工作集,大大提高了查询速度。 RDD 支持转换和行动这两种操作。RDD 转换操作是返回新 RDD(例如 union 和 flatMap)的操作,行动操作(如 reduce 和 count)将结果返回给驱动程序或将 结果写入外部系统。 2.1.3 数据处理模块 SparkSQL SparkSQL 是 Spark 最重要的部分之一。它提供了一个编程抽象数据框架,可 以用作分布式 SQL 查询引擎。由于 Mapreduce 计算模型的执行效率相对较低, SparkSQL 应运而生。它将 SQL 语句转化为 RDD,然后上传至集群去执行,所以其 执行效率极高。与基本 SparkRDD 的 API 不同,SparkSQL 中提供的接口将为 SPark 提供更多关于结构化数据和计算的信息。基本上,Spark SQL 使用这些额外的信 息来执行特殊的优化。有几种方法可以与 Spark SQL 交互,包括 SQL 和数据集 API。当使用相同的执行引擎时,API 或其他语言对于计算表达式是相互独立的, 这意味着开发人员可以轻松地在不同的 API 之间切换。 SparkSQL 能高效处理数据源于以下的优点。 (1)易整合。SparkSQL 允许使用 SQL 或者 DateFrame API 查询 Spark 内的 结构化数据。 (2)统一的数据访问方式。SparkSQL 可以以相同的方式连接不同的数据源, 包括 JDBC、Hive、JSON 等。 (3)兼容 Hive。SparkSQL 可以在现有的仓库上运行 SQL 语句或者 HQL 查询。 2.1.4 实时数据处理 SparkStreaming Sparkstreaming 具有高吞吐量和容错能力。 Spark Streaming 支持的许多 输入数据源, 包括 Flume,Twitter,Kafka,ZeroMQ,Kinesis 和简单的 TCP 套 接字。 输入数据后,可以使用 Spark 的抽象函数(如 window,map,reduce 和 join)来执行复杂的操作。 最后也可以将处理结果保存在许多地方,例如数据 库、HDFS 文件系统等。此外,SparkStreaming 还可以与 Mllib(机器学习)和 Graphx(图形计算)结合使用。 第 6 页 共 51 页
南华大学计算机学院毕业设计 Sparkstreaming 处理的数据流图如图 2.1 所示。 图 2.1 Sparkstreaming 处理数据流图 SparkStreaming 适用于做流式处理的原因有以下几点。 (1)容错性。对于流式计算而言,容错性是至关重要的。RDD 是不可变的分 布式可重用的数据集,它记录着确定性的操作血统关系,即便出错后也会从出错 的位置重新计算,而不会导致重复计算。 (2)实时性。Spark Streaming 中的 Batch Size 的选取通常在 0.5-2 秒之 间,所以 Spark Streaming 能够满足除对实时性要求非常高之外的所有流式准实 时计算场景。 (3)吞吐量。Spark 可以数秒的延迟处理 6GB/s 的数据量,其吞吐量比 Storm 高 2 至 5 倍。 (4)易整合。SparkStreaming 可以在 Spark 上运行,减少了单独编写流批 量处理程序和历史数据处理程序。 2.1.5 Hive 数据仓库 Hive 是基于 Hadoop 的数据仓库工具。它将结构化数据文件映射到数据库表, 并提供简单的 SQL 查询功能。它可以将 SQL 语句转换为运行的 MapReduce 任务。 其优点是学习代价低,简单的 MapReduce 统计可以通过类似 SQL 的语句快速实现, 避免了编写 MapReduce 的复杂过程,减少了开发工程师的工作量,适合用于统计 分析的数据仓库。 第 7 页 共 51 页
南华大学计算机学院毕业设计 2.2 MySQL 数据库介绍 数据库是用于存储数据的存储库。 为了便于数据的存储和管理,它根据特 定规则将数据存储在磁盘上。通过数据库管理系统,可以有效地利用和管理存储 在数据库中的数据信息。可以说 MySQL 数据库是当前关系型数据库中运行速率最 快之一。 MySQL 是一款免费、开放源码的数据库软件。只要有需要,直接从 MySQL 官 网中下载安装即可。并且 MySQL 提供的功能已经完全能够满足个人使用者和一些 小型公司,因此它也是目前最流行、最受欢迎的数据库。 2.3 Highchart 简介 Highchart 是 Highsoft AS 开发的一款纯 JavaScript 图表库,可以十分便捷 地在 Web 网站中使用交互性的图表,并且 Highchart 是一款免费软件,适合个人 开发者使用。Highchart 具有很强的兼容性,可以兼容市面上大多数浏览器,包 括 Safari、Chrome 和火狐等。Highchart 的提示功能与放大功能受到众多开发 者的青睐。在 Highchart 生成的图表中,可以在数据点上显示提示效果,当鼠标 移动到数据点上时,可以显示数据的详细信息。此外,Highchart 还可以集中显 示大量的数据,并可以放大某一部分的数据,将表的精度增大,进行详细的显示。 2.4 本章小结 本章主要介绍了电商数据分析平台所用到的大数据技术,然后对 MySQL 进行了简单的介绍,最后对数据可视化图表 HighChart 进行了简单的介绍。 第 8 页 共 51 页
分享到:
收藏