基于Hadoop 的大数据运营系统

2021-07-16 10:07高海超常祎雯杨文峰冯学伟
科学技术创新 2021年19期
关键词:历史数据分布式向量

高海超 常祎雯 杨文峰 冯学伟 邓 哲 白 涛

(延安大学 数学与计算机科学学院,陕西 延安 716000)

1 概述

当下正处于大数据时代,用户在网络中的各种操作都会留下数据,数据背后的价值性毋庸置疑。各行各业对挖掘数据价值的需求日益剧增。对于电商企业来说,用户的点击、分享、加购物车、收藏、购买等历史数据可以对电商企业的发展和规划起到极大地指导作用,能够提高用户黏度,增强用户购物体验,帮助企业实现更好的运营效果。

为了更好的利用数据背后的价值,可利用计算机对历史数据进行分析。由于数据庞大,需要算力极高。可考虑采用分布式计算,以PC 机集群来对大数据进行处理,来弥补小型企业计算机性能低下的问题。同时采用分布式存储,还能更好的对数据进行存储及备份,提高系统容错性。

为使用户在购物时,能够得到系统推荐的,更贴合用户需求的商品。则需要对用户的过往操作数据进行分析,通过历史数据得出规律,并为用户推荐合适的商品是大数据运营系统最重要的目的。本文以商品推荐为例,通过Hadoop 分布式大数据处理框架,对销售数据以及用户行为数据进行清洗及分析,同时还使用Spark 提供的机器学习库中的多种算法来训练模型,并通过模型计算得到推荐值。使得用户在购物时,能够从多种维度收到来自平台的个性化推荐。以实现增强用户的购物体验,提高用户黏度,进而增大平台销售量。

2 分布式存储

由于本项目需要根据大量历史数据进行分析,才能得到更好的推荐结果,面对大规模数据,采用分布式的存储是非常有必要的。Hadoop 提供的HDFS(Hadoop distributed file system)就是一个分布式文件系统,如图1 所示。

图1 HDFS 结构图

将文件默认按128M分为多个block,进而存储在多个Data Node 节点上,每个block 默认保存3 个备份。

3 数据清洗

数据清洗部分主要依赖于Hadoop 下的MapReduce 来进行,本项目编程语言使用Java,在开发过程中,可直接用Java 调用Hadoop 接口,覆写map 和reduce 方法,根据实际数据及需求,来对数据进行清洗和补偿。

3.1 去重

在数据处理过程中,发现存在一些操作数据产生时间相同,分析是系统运行过程中被恶意访问,或者存在刷点击量的行为,而这些行为数据对实际数据分析毫无用处,故需要对其进行清除,这里考虑使用MapReduce 将完全相同数据只读取其中一个,将其它的无用数据进行清除,以达到去重目的。

3.2 IP 地址补偿

由于需要按地域区分用户,并按地域进行分析,故要对IP地址进行补偿。将一串IP 地址其视为256 进制数,然后将其转为整型数,将其视为地址最大数,进而在0 和最大数中间随机生成1 个数,再通过位运算,将其转为IP 地址格式,即可得出随机IP 地址。

4 数据分析

根据用户登陆与操作情况进行分析,设用户操作分别为浏览、收藏、加购、付款四种类型,分别赋值1-4 分可得用户评分向量。

4.1 活跃用户记录

活跃用户记录可利用位图来实现,以1 作为登录,0 作为登录,以此来记录用户的具体登录情况。以此方法,可以将一个月的数据合并为一条数据,这样可以极大的减少数据的空间占用,同时实现对用户活跃度的记录。

4.2 基于协同过滤的商品推荐

基于用户的协同过滤,通过不同用户对物品的评分来评测用户之间的相似性,基于用户之间的相似性做出推荐,如图2 所示。

图2 对相似用户的物品推荐

为实现以上算法,引入Co-occurrence Matrix(同现矩阵)与User Preference Vector(用户评分向量),以同现矩阵与用户评分向量相乘得到Recommended Vector(推荐向量)。最后按照排序高低对用户进行推荐,如图3 所示。

图3 基于协同过滤的商品推荐算法示意图

4.3 ALS(交替最小二乘法)

直接调用Spark 的Mllib 库中的算法实现。将用户对商品的评分矩阵分解为2 个矩阵分别设为X 与Y。

随机生成X,Y,固定Y,使用公式3 更新Xu,固定X,使用公式(4)更新Yi,重复交替执行公式(3)和公式(4),直到均方根误差RMSE 收敛。ALS 算法流程图如图4 所示。

图4 ALS 算法流程图

5 结论

以HDFS 作为存储系统,借助kafka 与flume 对数据进行采集,之后调用Spark 的Mllib,使用位图、同现矩阵、ALS(交替最小二乘法)等算法实现了对数据进行处理与分析,并得到推荐结果。对提升用户体验与增强用户黏性,做出了巨大的帮助。

猜你喜欢
历史数据分布式向量
向量的分解
基于设备PF性能曲线和设备历史数据实现CBM的一个应用模型探讨
聚焦“向量与三角”创新题
浅析分布式发电对电力系统的影响
从数据分析的角度浅谈供水企业漏损诊断
基于预处理MUSIC算法的分布式阵列DOA估计
基于Hadoop技术实现银行历史数据线上化研究
用好细节材料 提高课堂实效
向量垂直在解析几何中的应用
分布式并联逆变器解耦电流下垂控制技术