基于Hadoop的电商推荐系统的设计与实现

【摘 要】电子商务在当今社会已经成为人们生活中不可或缺的一部分,随着电商平台的日益庞大和用户数量的不断增加,如何提高用户购物体验、促进销售,成为电商企业亟待解决的问题。推荐系统作为电子商务平台的重要组成部分,通过分析用户的历史行为,为用户推荐个性化的商品,能够有效提高用户满意度,增加销售额。

本文设计了基于Hadoop的电商推荐系统,本系统的核心功能是通过爬取实海量电商推荐的原始数据,并通过大数据技术将原始数据存储、计算,并将分析的结果通过开发Web程序以可视化列表形式展示。

本论文的主要研究工作及取得的成果如下:

  1. 使用Flask, Echarts等软件开发技术,设计并成功开发出了一套基于大数据的电商网站后台软件系统,本后台系统的电商推荐数据源于京东网站上爬取的电商推荐。
  2. 使用基于Python语言的网络爬虫,爬取了电商网站上的电商推荐。对爬取到的原始数据进行数据清洗后存储到HDFS上,然后使用MapReduce分布式运算编程模型对数据计算,最后将结果保存至MySQL中存储分析。

【关键词】大数据,Hadoop,Flask,电商推荐

Design and implementation of e-commerce recommendation system based on Hadoop

【Abstract】 E-commerce has become an indispensable part of people's lives in today's society. With the increasing size of e-commerce platforms and the increasing number of users, how to improve user shopping experience and promote sales has become an urgent problem to be solved by e-commerce enterprises. As an important part of e-commerce platform, recommendation system can effectively improve user satisfaction and increase sales by analyzing user's historical behavior and recommending personalized products for users.

This paper designs an e-commerce recommendation system based on Hadoop. The core function of this system is to obtain massive raw data of e-commerce recommendations through crawling, store and calculate the original data through big data technology, and display the analysis results in the form of visual lists through the development of Web programs.

The main research work and achievements of this paper are as follows:

1. Using Flask, Echarts and other software development technologies, designed and successfully developed a set of e-commerce website background software system based on big data. The e-commerce recommendation data of the background system came from the e-commerce recommendation obtained from Jingdong website.

2. Used the web crawler based on Python language to climb the e-commerce recommendation on the e-commerce website. The original crawled data is cleaned and stored in HDFS. Then the MapReduce distributed computing programming model is used to calculate the data. Finally, the results are saved to MySQL for storage and analysis.

【Keywords】 Big data, Hadoop, Flask, e-commerce recommendation

目  录

1 绪论

1.1研究背景与现状

1.2 国内外研究现状

1.3论文主要研究工作

2 技术总述

2.1 基于Scrapy的网络爬虫技术

2.2 Hadoop技术

2.3 Flask技术

2.4 本章小结

3 电商推荐系统实现

3.1 系统可行性分析

3.1.1可行性研究

3.1.2 经济可行性

3.1.3技术可行性

3.1.4 运行可行性

3.1.5 时间可行性

3.2 系统实现流程

3.3 系统平台架构

3.4 电商销量数据爬虫设计

3.5 MapReducec程序设计

4 后台系统实现

4.1 开发环境与配置

4.1.1 开发环境

4.1.2 框架配置介绍

4.1.3 数据库的设计

4.2 系统功能模块实现

4.2.1登录认证

4.2.2电商推荐数据管理

4.2.3电商推荐功能

4.2.4电商分析大屏功能

4.3 本章小结

第5章 系统的测试

5.1注册功能

5.1.1功能概要

6.1.2详细描述

5.2登录功能

5.2.1功能概要

5.2.2详细描述

5.3后台管理系统

5.3.1 数据管理

5.3.1.1查询功能

5.3.1.2详细描述

5.3.2 用户管理

5.3.3 权限管理

5.4本章小结

6 总结与展望

6.1 总结

6.2  展望

参考文献

致  谢

1 绪论

1.1研究背景与现状

电子商务在当今社会已经成为人们生活中不可或缺的一部分,随着电商平台的日益庞大和用户数量的不断增加,如何提高用户购物体验、促进销售,成为电商企业亟待解决的问题。推荐系统作为电子商务平台的重要组成部分,通过分析用户的历史行为,为用户推荐个性化的商品,能够有效提高用户满意度,增加销售额。

本论文选择《基于Hadoop技术的电子商务推荐系统》作为研究题目的依据有以下几点原因:

大数据背景下的推荐系统需求:随着互联网的发展,电商平台积累了海量的用户行为数据,传统的推荐系统往往难以处理如此规模的数据。而Hadoop作为大数据处理的典型代表,能够为推荐系统提供高效的数据处理和存储解决方案。

个性化推荐的重要性:用户需求差异巨大,传统的一刀切的推荐方式已经不再适用。基于Hadoop技术的推荐系统可以更好地实现个性化推荐,提高用户满意度。

对电商平台的实际意义:通过建立一个基于Hadoop技术的电子商务推荐系统,可以在电商平台中更好地发掘潜在的商机,提高销售效益,增强企业竞争力。

1.2 国内外研究现状

基于 Hadoop 的电商推荐系统在国内外都受到了广泛的研究关注。以下国内外关于基于 Hadoop 的电商推荐系统的研究现状:

国内研究现状:

通过分析用户的行为数据,如浏览历史、购买记录等,利用基于 Hadoop 的大数据处理平台,实现个性化推荐算法的研究与应用。利用 Hadoop 生态系统中的组件,如 HBase、Hive 等,处理商品的属性信息和用户行为数据,从而优化推荐系统的推荐效果。利用 Hadoop 分布式计算框架,处理电商网站海量的用户行为数据,如点击、收藏、购买等,以提高推荐系统的准确性和效率。基于 Hadoop 生态系统中的流处理框架,如 Spark Streaming、Flink 等,构建实时推荐系统,能够及时响应用户的行为并实时更新推荐结果。

国外研究现状:

利用 Hadoop 分布式文件系统(HDFS)和 MapReduce 等技术,实现大规模推荐系统的分布式存储和计算,以应对海量数据的挑战。结合 Hadoop 和深度学习技术,如 TensorFlow、PyTorch 等,进行推荐算法的研究与实现,以提高推荐系统的准确性和泛化能力。考虑不同平台上的用户行为数据和商品信息,利用 Hadoop 构建跨平台的推荐系统,实现在多个平台上的个性化推荐服务。利用 Hadoop 生态系统中的分布式数据处理和存储技术,进行推荐系统的在线实验和评估,以验证推荐算法的有效性和性能。

总的来说,基于 Hadoop 的电商推荐系统的研究现状主要集中在利用大数据处理和分析技术,处理海量的用户行为数据和商品信息,并结合个性化推荐算法,为用户提供精准、实时的推荐服务。未来随着人工智能和深度学习技术的发展,基于 Hadoop 的推荐系统将进一步提升推荐效果和用户体验。

1.3论文主要研究工作

主要目标是构建一套基于Hadoop技术的电子商务推荐系统,以提高用户满意度和促进销售为核心。具体而言,研究目标集中在以下几个方向:

提高推荐系统的准确性和个性化水平,确保用户获得符合其兴趣和需求的商品推荐。利用Hadoop技术处理大规模用户行为数据,实现高效的数据处理和存储。优化推荐系统的性能,提高实时性,确保用户在浏览电商平台时能够获得即时而精准的推荐结果。

通过互连网查找用户在电商平台上的行为数据,包括浏览历史、购买记录、搜索关键词等。利用Hadoop技术中的HDFS和MapReduce,对采集到的大规模用户行为数据进行分布式处理。包括数据清洗、特征提取和建模等环节,以实现对海量数据的高效处理和存储。结合用户画像和商品信息,设计并实现个性化推荐算法。考虑使用协同过滤、内容过滤等推荐算法,并通过机器学习方法不断优化算法,以提高推荐的准确性和用户满意度。:建立实时推荐系统,确保用户在浏览电商平台时能够获得即时的、个性化的推荐结果。实现实时性要求,通过对用户行为的实时监控和处理,确保推荐系统能够快速响应用户变化的需求。设计直观友好的用户界面,使用户能够轻松浏览个性化推荐商品。考虑到不同用户的习惯和喜好,提供个性化的界面设置,增强用户体验。

2 技术总述

2.1 基Scrapy的网络爬虫技术

Scrapy是目前较为成熟的爬虫技术框架一般采用Python语言开发程序,Scrapy用途广泛,Scrapy具有较为成熟的优点,且开发起来较为简便,只需要按照脚手架搭建,即可快速编程。

对于目前市场上较为流行的爬虫技术有Selenium,Scrapy等,但由于考虑到Scrapy框架开发较为方便,本文使用Scrapy技术进行原始数据的采集。

在本设计中,由于需要使用到电商网站的电商销量的原始数据,因此需要开发相应的网络爬虫程序完成对电商销量原始数据的采集下图2-1为爬取京东网站的电商销量数据的原理流程图。

图2-1 京东网站电商销量爬虫原理流程图

2.2 Hadoop技术

随着大数据时代的来临,大数据技术也在不断发展,一般而言大数据技术包括大数据的实时计算和离线计算,实时计算包括如SparkStreaming,Flink等流式处理技术,离线计算包括像Hadoop中的MapReduce。本文使用的是大数据的离线计算方式来处理就业招聘信息。

MapReduce是基于Hadoop核心计算框架; MapReduce的主要原理是将计算按阶段分布在不同机器上处理,从而实现并行计算,可有效提高大数据计算速度和效率。Yarn和HDFS则分布是管理大数据作业和存储大数据的原始数据。

图 2-2 大数据集群机器

一般在大数据程序开发中,常使用MapReduce框架进行数据计算,MR程序需要我们根据job的不同阶段开发相应的作业程序,第一阶段是对所有的数据进行统一处理;第二阶段则是对相同组内的key进行统一处理,最后一个阶段则是编写一个作业管理程序,将上述两个阶段的作业的基本原数据信息提交到集群中管理和发布,最终可通过hadoop命令得到相应的计算结果。

在第一阶段和第二阶段之间,还涉及到了一个Shuffle过程,这个过程较为重要,它会将相同键值的数据汇聚到同一个下一阶段入口统一处理,并且可以设置并行度,这里会将涉及到数据在不同机器的移动计算,这也是大数据能够提高并行计算能力的核心功能实现。

2.3 Flask技术

Flask是一个开放源代码Web应用框架,由Python写成。采用了MTV的框架模式,即模型M,视图V和模版T。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。并于2005年7月在BSD许可证下发布。这套框架是以比利时的吉普赛爵士吉他手Flask Reinhardt来命名的。2019年12月2日,Flask 3. 0发布 。

Flask是高水准的Python编程语言驱动的一个开源模型.视图,控制器风格的Web应用程序框架,它起源于开源社区。这种架构,程序员可以方便、快捷地创建高品质、易维护、数据库驱动的应用程序。这也正是OpenStack的Horizon组件采用这种架构进行设计的主要原因。另外,在Dj ango框架中,还包含许多功能强大的第三方插件,使得Flask具有较强的可扩展性 [2]  。Flask 项目源自一个在线新闻 Web 站点,于 2005 年以开源的形式被释放出来。其工作流程主要可划分为以下几步:

1.用manage .py runserver 启动Flask服务器时就载入了在同一目录下的settings .py。该文件包含了项目中的配置信息,如前面讲的URLConf等,其中最重要的配置就是ROOT_URLCONF,它告诉Flask哪个Python模块应该用作本站的URLConf,默认的是urls .py

2.当访问url的时候,Flask会根据ROOT_URLCONF的设置来装载URLConf。

3.然后按顺序逐个匹配URLConf里的URLpatterns。如果找到则会调用相关联的视图函数,并把HttpRequest对象作为第一个参数(通常是request)

4.最后该view函数负责返回一个HttpResponse对象

2.4 本章小结

本章主要分析了系统开发过程中使用到的技术点和框架,通过研究这些技术的原理后,在本设计中加以应用,包括电商推荐采集的爬虫技术,Hadoop技术,以及基于Flask框架的系统后台技术,通过预研上述技术点并加以应用从而开发出基于大数据的电商推荐系统。


3 电商推荐系统实现

3.1 系统可行性分析

3.1.1可行性研究

通过对系统研究目标及内容的分析审察后,提出可行性方案,并对其进行论述。主要从技术可行性出发,再进一步分析经济可行性和操作可行性等方面。

3.1.2 经济可行性

开发系统所涉及到的资料,一般是在图书馆查阅,或是在网上进行查找收集。开发过程使用到的IDE一般也是开源的,因此,开发成本是几乎为零。但是开发出来的系统,还是具有高效率,低成本,较高质量的。所以,从经济可行性的角度,该系统符合标准。

3.1.3技术可行性

从技术可行性而言,由于本人一直是计算机相关专业,在大学期间也一直学习的就是计算机和大数据相关技术,如Hadoop,Java,MapReduce等,这次毕设更是对自己的专业知识的一次实际应用,使自己对知识的理解更加深厚,因此从技术可行性而言也是没有问题的。

3.1.4 运行可行性

由于本人在日常学习的过程中也会经常使用到本文设计中所设计的计算框架,这些框架的版本都是经过本人的经验和查阅资料后确定的,另外本文使用的是个人笔记本开发,不使用大量的服务器资源,因此运行可行性是满足的。

3.1.5 时间可行性

从时间上看,由于本人很早就确立了论文的题目,因此很早就开始了基础技术的研究,有了一定的基础理论支撑,然后开发程序的时间也是足够的,并且预留了一定的时间去修复整个系统的BUG,因此从时间上来说是完全可行的。

3.2 系统实现流程

通过前面的功能分析可以将基于大数据的电商推荐系统的研究与实现的功能主要包括用户登录、销售信息管理数据分析等内容。后台管理是针对已登录的用户看到满意的电商销售数据分析而设计的。

(1)明确目的

在设计电商推荐大数据分析平台初期需要了解如何获取电商推荐原始数据是非常基础也是关键的一步。要了解大数据分析平台期望达到什么样的运营效果,从而在标签体系构建时对数据深度、广度及时效性方面作出规划,确保底层设计科学合理。

(2)数据采集

只有建立在客观真实的数据基础上,大数据计算分析的结果才有效。在采集数据时,需要考虑多种维度,比如不同厂商电商销量数据、不同品牌销量数据、不同价位的销量数据等等,还可以通过品牌调研、用户访谈、用户信息填写及问卷、平台前台后台数据收集等方式获得。

(3)数据清洗

就对于各大电商网站或者APP平台采集到的数据而言,可能存在非目标数据、无效数据及虚假数据,因而需要过滤原始数据,去除一些无用的信息以及脏数据,便于后续的处理。

(4)特征工程

特征工程能够将原始数据转化为特征,是一些转化与结构化的工作。在这个步骤中,需要剔除数据中的异常值并将数据标准化。

(5)数据计算

 在这一步我们将得到的数据存储到大数据分析平台,通过开发MapReduce程序对原始数据进行计算,将不同维度的结果存储到Mysql中。

(6)数据展示

 分析结果可以通过大数据后台展示到前端界面,对于普通用户而言,只需要登录到该后台系统,就可以获取到电商推荐后的计算结果,从而了解品牌电商销量情况,对于用户而言可以非常清晰的分析出各大品牌的电商销量情况

3.3 系统平台架构

图3-1 电商推荐大数据分析平台架构

在任何信息系统当中有价值的数据都是必不可少的重要部分如何通过手上的资源获取得到有价值的数据便是开发系统首先需要考虑的问题根据系统的功能设计数据获取和处理的流程以及其实现方法都已经基本上确定获取和处理流程。

由于大数据开发需要搭建集群环境,而集群环境一般都要求位于同一局域网内的多台机器,由于多台机器从购买和维护的成本的角度上而言都是比较昂贵的,这对于普通开发者而言是一笔不小的费用,因此本文拟使用Vmware虚拟机搭建大数据集群环境。

3.4 电商销量数据爬虫设计

这个项目我们的主要目的是爬京东电商销量数据信息,包括电商销量岗位企业名称企业描述和规模等具体详情信息下面描述本文爬虫工程主要设计步骤

(1)创建项目

打开一个终端输入:scrapy startproject MyScrapyScrapy框架将会在指定目录下生成整个工程框架系统生成的目录如下图3-2所示:

3-2 电商销量爬虫框架目录结构

(2)修改setting文件

如下表3-1所示为修改后的setting文件主要内容本设计主要修改三项内容,第一个是不遵循机器人协议,第二个是下载间隙,由于下面的程序要下载多个页面,所以需要给一个间隙(不给也可以,只是很容易被侦测到),第三个是请求头,添加一个User-Agent

3-1 爬虫setting文件主要配置

BOT_NAME = 'tv'

SPIDER_MODULES = ['tv_spiders']
NEWSPIDER_MODULE = 'tv.spiders'
# Crawl responsibly by identifying yourself (and your website) on the user-agent
#USER_AGENT = 'python_city_data (+http://www.yourdomain.com)'
#换伪造请求头
USER_AGENT = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36"
# Obey robots.txt rules
ROBOTSTXT_OBEY = False

(3)确认要提取的数据,item项

item定义你要提取的内容(定义数据结构),比如我提取的内容为电商推荐不同品牌和企业电商销量详情,于是需要在items类中新建对应的实体类并需要设置相应的字段取出对应的数据。Field方法实际上的做法是创建一个字典,给字典添加一个建,暂时不赋值,等待提取数据后再赋值。

(4)开发爬虫程序,访问下载网页,使用Xpath语法提取内容

3.5 MapReducec程序设计

图3-3 京东商城电商数据界面

原始的电商推荐数据一般信息较为冗杂且很难看出规律因此我们需要将数据存储在HDFS上数据在多台机器上保存了n份保证了原始数据的高可用然后通过MapReduce框架开发程序将海量的原始数据计算过程分成一个个的job提交到yarn上管理执行

Mapreduce确保每个reducer的输入都是按键排序的。系统执行排序的过程(即将map输出作为输入传给reducer称为shuffle。下面是Mapreduce计算最重要的shuffle原理可以看出具有同key的Mapper端输出将会汇向同一Reducer从而达到分布式计算的效果

图3-4 Mapreduce的shuffle原理

本文中如需分析目前电商网站上的各品牌电商岗位总量情况首先需要定义一个mapper类这也就是mapper任务中的核心逻辑需要在代码中对每条电商销量数据的所属品牌字段过滤下面为mapper任务的主要逻辑代码

3-2 mapper任务的主要逻辑

public class BrandMapper extends Mapper<LongWritable, Text, Text, IntWritable> {
    protected void map(LongWritable key, Text value, Context context)
            throws IOException, InterruptedException {
        // 1 将maptask传给我们的文本内容先转换成String
        String line = value.toString();
        // 2 根据,将这一行切分成多个字段
        String[] fields = line.split(",");
        // 3 取其中的所属品牌字段
        String industry = fields[8];
        // 4 将所属品牌输出为<所属品牌,1>,以便于后续的数据分发
        context.write(new Text(industry), new IntWritable(1));
    }
}

再编写完Mapper任务代码后需要再定义一个reducer类用于处理Reducer 过程的业务逻辑用于统计数量下面为mapper任务的主要逻辑代码

3-3 reducer任务的主要逻辑

public class BrandReducer extends Reducer<Text, IntWritable, Text, IntWritable> {

protected void reduce(Text key, Iterable<IntWritable> values, Context context) throws IOException, InterruptedException {

int count = 0;

// 1 汇总各个所属品牌的个数

for(IntWritable value:values){

count +=value.get();

}

// 2输出该所属品牌的总次数

context.write(key, new IntWritable(count));

}}

再编写完Mapper任务和reducer任务的业务代码后还需要定义一个主类用于管理上述的作业,MapReduce框架会将上述的Mapper和Reducer任务拆分为一个个的job,并提交到yarn上管理执行下表3-4电商推荐所属品牌MapReduce作业管理类的主要逻辑

3-4 所属品牌MapReduce作业管理类

public class BrandDriver {

public static void main(String[] args) throws Exception {

// 1 获取配置信息,或者job对象实例

Configuration configuration = new Configuration();

Job job = Job.getInstance(configuration);

// 2 指定本业务job要使用的mapper/Reducer业务类

job.setMapperClass(BrandMapper.class);

job.setReducerClass(BrandReducer.class);

// 3 指定mapper输出数据的kv类型

job.setMapOutputKeyClass(Text.class);

job.setMapOutputValueClass(IntWritable.class);

// 4 指定最终输出的数据的kv类型

job.setOutputKeyClass(Text.class);

job.setOutputValueClass(IntWritable.class);

// 5 指定job的输入原始文件所在目录

FileInputFormat.setInputPaths(job, new Path(args[0]));

FileOutputFormat.setOutputPath(job, new Path(args[1]));

// 7 将job中配置的相关参数,以及job所用的java类所在的jar包, 提交给yarn去运行

boolean result = job.waitForCompletion(true);

System.exit(result?0:1);

}

}

任务主类编写成功后将其打成jar包并提交到hadoop环境上通过hadoop fs命令执行该mapreduce作业并可通过Hadoop的管理web页面查看作业的执行的具体情况和时长等信息下图3-5是统计电商推荐所属品牌的任务运行在Hadoop管理页面的执行情况

图3-5 Mapreduce的作业运行详情

4 后台系统实现

本文设计的基于大数据的电商推荐数据分析系统的后台系统采用的是Flask框架实现的,这是一种MVC模式的开发框架,通过在表现层接收前端传入的参数,将在Controller进行逻辑分发,再调用Service进行不同业务的处理,最后去操作数据库进行数据的CRUD,从而实现指定的功能。前端使用Echarts技术,在数据持久层使用的是MySQL数据库。本文将在第四章介绍本系统后台的搭建过程,技术选型,以及后台代码配置等,最后以具体页面的详情图描述了本系统的常用的基本功能。

4.1 开发环境与配置

4.1.1 开发环境

本系统设计基于B/S架构,其中服务器包括应用服务器和数据库服务器。这种架构模式,使用户只需要在有网络的地方即可通过浏览器访问,而不需要再安装天气端软件,交互性更强。基于Flask智慧社区分析可视化分析平台使用Pycharm集成开发工具。而系统运行配置时,选择应用本地来部署Web服务器来保障平台的正常运行。本系统的主要开发环境以及开发工具如表4-1所示。

项目

系统环境及版本

硬件环境

Windows 64 位操作系统

Python

Python2.6

数据库

MySql

开发工具

Pycharm

项目架构

Flask

表4-1 系统开发环境和工具

4.1.2 框架配置介绍 

本系统使用集成开发工具 Pycharm进行开发, 本文主要介绍 Flask 框架的配置。创建了一个Flask应用程序,设置了DEBUG模式为True,并指定了一个SECRET_KEY。接下来定义了一个简单的路由'/',并编写了对应的视图函数index,返回消息。另外配置还可能涉及到数据库配置、日志配置、第三方服务配置等等。可以将这些配置放在一个单独的配置文件中,然后在应用程序中导入配置。

表4-2 后台的配置文件

from flask import Flask

app = Flask(__name__)

# 应用程序配置

app.config['DEBUG'] = True

app.config['SECRET_KEY'] = 'your_secret_key_here'

python

class Config:

    DEBUG = True

    SECRET_KEY = 'your_secret_key_here'

    SQLALCHEMY_DATABASE_URI = 'sqlite:///database.db'

4.1.3 数据库的设计

数据库设计是系统设计中特别重要的一部分。数据库的好坏决定着整个系统的好坏,并且,在之后对数据库的系统维护、更新等功能中,数据库的设计对整个程序有着很大的影响。

根据功能模块的划分结果可知,本系统的用户由于使用账号和密码进行登录,因此在本系统中需要分别进行数据记录。首先根据如下3个数据实体:用户、用户行为商品表数据库表。

商品的属性包括商品编号、商品名、产品类别地址商家信息商品实体属性图如图4-1所示:

图4-1商品实体属性图

用户的属性包括用户编号、用户名、密码和性别、注册账号的时间。用户实体属性图如图4-2所示:

图4-2 用户实体属性图

用户行为的属性包括编号、用户用户、商品编号行为类型采集时间。用户行为实体属性图如图4-3所示:

图4-3 电商推荐属性图

4.2 系统功能模块实现

4.2.1登录认证

当用户执行登陆操作时,后台会从前端传过来的参数中拿到用户名和密码,并查询数据库,通过findUserByName方法查询该用户的密码字段,再将查询的结果和前端传过来的密码参数字段进行比对,如果相同,则匹配成功用户直接跳转到登录成功后的欢迎界面;如果匹配失败则需提前前端继续输入正确的密码直到登录成功。用户登录具体流程如时序图如4-4所示。

图4-4登录认证流程图

基于大数据的电商推荐分析集群系统的用户登录界面如下图所4-5所示:

图4-5用户登录界面

登陆成功后,系统会成功跳转至首页,在首页中,位于上方的横栏是对本系统的基本信息的描述和欢迎登录效果,另外登录用户的用户名也会显示在首页中,可直接表明用户已成功登录。左侧则是本系统的导航菜单,可折叠展示,较为方便,右方则为欢迎页效果。基于大数据的电商推荐分析集群系统的首页界面如下图所4-6所示:

图4-6用户行为数据的电商推荐系统首页界面

4.2.2电商推荐数据管理

电商推荐数据管理功能是对电商推荐数据进行查询,删除等操作的功能集合,电商推荐数据管理功能使用到了电商推荐数据表t_goods,

基于大数据的电商推荐分析集群系统的电商推荐数据管理功能界面如下图所4-7所示:

图4-7 电商推荐数据管理菜单界面

电商推荐数据管理

功能流程功能图如图4-8所示:

图4-8电商推荐数据管理功能流程图

 通过“电商推荐数据管理”按钮,进入电商推荐数据界面,用户可以看到电商销量列表,例如:品牌、所在商铺名称、电商售价、销售数量、商品详情、销售时间的详细信息。通过此界面,用户可以对电商销售数据信息进行删除管理操作。

4.2.3电商推荐功能

电商推荐功能是电商平台为了提高用户购物体验和促进销售而提供的一项重要功能。通过分析用户的行为数据和商品信息,电商推荐系统能够向用户推荐他们可能感兴趣的商品,从而提高用户购买转化率、增加用户粘性和平台销售额。

图4-9 电商推荐流程

图4-10 电商推荐界面

4.2.4电商分析大屏功能

数据可视化模块就是对我们采集和计算的分析结果的展示。数据分析模块的数据进行一个精美而又直接的展示,我们采用大屏的方式进行展示,展示数据结构分明,背景具有科技感,把相对复杂的、抽象的数据通过可视的、交互的方式进行展示,从而形象直观地表达数据蕴含的信息和规律。

电商推荐分析看板界面如图4-10所示。

图4-11电商推荐分析大屏界面1

图4-12电商推荐分析大屏界面2

电商推荐分析可视化看板的功能较为丰富,由图可知,用户在登录本系统后,可以很清楚的读懂目前市场上的电商销售行情,如什么品牌的电商销量最高,那个价格区间的电商销量最高等等,这对用户而言是十分关注的,因此如何开发出美观的可视化界面也是一项不可或缺的工作。本文使用了图形,表格,地图等各种方式联动数据,十分直观。另外本文使用了Echarts中地图、线条等组件,将分析结果较为直观的展示给平台用户,使得用户能够简便的获取有效的信息。

4.3 本章小结

本章主要分析了基于大数据的电商销量分析系统的设计与实现系统开发过程中使用到的技术和具体的实现步骤,这其中主要介绍了电商销量大数据分析平台的搭建环境和开发步骤,包括程序中的一些数据库配置等。前端页面采用的是Html实现。

第5章 系统的测试

5.1注册功能

5.1.1功能概要

用户打开女装分析系统的网页或应用程序,可以选择进行新用户注册。在注册页面,用户需要提供以下信息:

用户名:用于登录和标识用户身份的唯一名称。

密码:用于保护用户账户安全的密码,需要符合一定的复杂度要求。

邮箱地址:用于接收系统通知和找回密码等操作的有效邮箱地址。

其他个人信息(可选):如性别、年龄、喜好等,用于系统个性化推荐和服务。

6.1.2详细描述

该后台注册功能,通过向后台注册接口发送请求,如图5-1是后台注册界面。登陆成功,则提示注册成功,并跳转到快手女装评论登录界面,如图5-2所示。

图 5- 1 登录页面

5.2登录功能

5.2.1功能概要

该功能是用于用户登陆女装分析系统,当用户输入用户名和密码之后,经过数据校验,成功则进入主页面。

5.2.2详细描述

该后台登录功能,通过向后台登录接口发送请求,如图5-2是后台登录界面。登陆成功,则提示登陆成功,并跳转到后台管理界面,如图5-2所示。

图 5-2管理信息界面

5.3后台管理系统

5.3.1 数据管理

5.3.1.1查询功能

女装分析系统的可视化查询功能是指用户可以通过图形化界面进行数据查询和筛选,获取符合特定条件的女装评论数据,并以可视化方式展示结果。下面是一个关于可视化查询功能的简要描述:

界面设计: 可视化查询功能应该具有用户友好的交互式界面,包括输入框、下拉框、复选框等控件,可以方便用户进行数据查询和筛选。同时,界面还应该有一定的美观性和易用性,以提高用户的使用体验。

查询条件: 可视化查询功能应该提供多种查询条件,如时间范围、评论内容、商品类型、情感极性、评分等,使用户可以根据自己的需求进行筛选。查询条件还可以根据实际情况进行扩展和调整。

数据展示: 查询结果应以可视化方式呈现,如柱状图、折线图、饼图等,可以直观地展示数据的分布和趋势。同时,也可以提供表格或列表形式的展示方式,以方便用户查看更详细的数据信息。

交互式操作: 可视化查询功能还应该支持用户的交互式操作。例如,用户可以通过鼠标单击或拖动、缩放等方式对图表进行操作,以获得更精确的数据信息。同时,也可以提供导出数据、分享链接等功能,便于用户进行数据分析和共享。

5.3.1.2详细描述

该后台查询功能,用户在登录之后,通过向后台查询接口发送请求,如图6.4是后台查询界面。输入所需要查询的内容,若查询成功,则跳转到所查询评论管理信息界面,如图5-3所示。

图 5-3 查询页面截图

5.3.2 用户管理

  该功能展示了用户的列表如图5-4所示,可以进行用户的增删,名称等信息的修改,有助于我们管理所注册的用户的信息。

5-7 用户管理

                            5-4 添加用户

5.3.3 权限管理

  该功能用于对所有注册的用户的管理,用户的增删、管理员的设置,使得管理系统主次分明,更加完善,如图5-5所示。

                           5-5权限管理

5.4本章小结

本章主要分析了电商推荐数据电商推荐系统的测试过程,包括系统架构各模块测试,用户注册测试,用户登录测试,数据管理的查询功能测试、用户管理和权限管理等。

6 总结与展望

基于 Hadoop 的电商推荐系统是利用 Hadoop 生态系统提供的分布式存储和计算能力,结合推荐算法对大规模用户行为数据和商品信息进行处理和分析,以实现个性化的推荐服务。以下是对该系统的总结与展望:

6.1 总结

 Hadoop 提供了强大的分布式存储和计算能力,能够处理电商网站产生的海量用户行为数据和商品信息,为推荐系统提供数据支持。利用推荐算法,如协同过滤、基于内容的推荐等,分析用户行为和商品信息,实现个性化的推荐服务,提高用户满意度和购买转化率。 通过 Hadoop 的分布式计算框架,如 MapReduce、Spark 等,能够实现大规模数据的并行处理,提高推荐系统的性能和效率。结合流处理框架,如 Spark Streaming、Flink 等,实现实时推荐系统,能够及时响应用户的行为并更新推荐结果,提高用户体验。Hadoop 是开源的大数据处理平台,能够有效降低电商推荐系统的开发和运维成本,适用于各种规模的电商企业。

6.2  展望

 随着深度学习技术的发展,可以将其应用于电商推荐系统中,提高推荐的准确性和个性化程度。随着移动端、社交平台等新兴平台的兴起,电商推荐系统需要考虑不同平台上的用户行为和商品信息,实现跨平台的推荐服务。除了基于用户行为和商品属性的推荐,还可以考虑其他维度的推荐,如时序推荐、位置推荐等,提供更加全面的推荐服务。随着用户行为数据的不断产生,推荐系统需要实时更新推荐结果,并不断优化个性化推荐算法,满足用户的需求。针对用户行为数据的敏感性,需要加强数据安全和隐私保护措施,保护用户的个人信息不被泄露。

综上所述,基于 Hadoop 的电商推荐系统在提高推荐效果、降低成本和提升用户体验方面具有巨大潜力,未来将继续发挥重要作用,并不断演进和完善。

参考文献

[1] 中国电子商务市场数据发布报告2020Q1&2020Q2e[A]. 上海艾瑞市场咨询有限公司.艾瑞咨询系列研究报告(2020 年第6期) [C]: 上海艾瑞市场咨询有限公司,2020:25.

[2] 刘维维,电信品牌中基于数据仓库和数据挖掘技术的决策支持系统[D]中国科技信息,2006(07):180-181.

[3] 岳亚娜孟凡胜电商社交营销对策浅析[J]科技经济导刊2021,2901);169-170

[4] 任宏伟基于异常检测技术的数据防爬系统设计与应用.中国科学院大学(工程管理与信息技术学院).2016.

[5] 倪星字,基于Hadoop云计算平台的构建[J],微型电脑应用,2020,36(12);103-105.

[6] 王玻璇MapReduce 下差分隐私保护技术研究与实现[D]南京邮电大学,2020.

[7] 郑楠,我国开放政府数据的价值增值方式解析[J]新西部(理论版)2016(13):68.

[8]叶惠仙,基于HaopHle技术的电商网站数据分析研究口,网络安全技术与应用,202012)77-79.

[9] An efficient approach for land record classiffication and information retrieval in data warehouse. International journal of Computers and Applications 2021.(1)

[10]王佳珙Hadoop平台下调度算法及其改进策略研究[D]北京邮电大学,2016.

[11]张兴,基于Hadoop的云存储平台的研究与实现[D]电子科技大学.2013.


致  谢

在大学的校园里,我度过了难忘的学习生活。在这期间,我从周围的老师和同学身上学到了很多知识,并且建立了深厚的感情。

四年时间过的飞快,已经到了书写自己毕业论文的节点,回想过去的四年,充满了无数的欢乐,也学习了不少专业知识,这也更加丰富了我的大学生活。因此我要我的学院里的每一位教师,是你们教会了我的专业知识,让我具有了一技之长,同时还要感谢指导老师对我毕业设计的指导。

然后,感谢给子我帮助的朋友们,是你们让我的学习生涯更加温暖,让我能更加坚定的追求自己想要的生活。两年来,我们一起相互支持彼此的信念,一起学习新的知识,起解决遇到的各种问题, 不管我们选择的道路最终是否能够达到自己的理想,但愿我们能够友谊长存。

最后,我要感谢父母,是你们培养了我。

附  录

附录正文。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值