论文部分内容阅读
摘 要:随着信息技术和电商行业的发展,用户在电商网站上留下的数据越来越多。不少的电商企业每日需处理的用户数据量已经达到TB级,甚至达到了PB级。大数据时代已经到来,电商行业对数据挖掘的需求也因此而生。计算机科学自始至今就与数学紧密结合,有效利用数学方法可以较大地提高机器计算的效率,处理大规模的计算问题。本文将阐述基于Hadoop使用AdaBoost分类器处理电商大数据的方法和过程。
关键词:电子商务 HBase Hive Hadoop
一、引言
目前,电子商务已成为国民经济重要的组成部分,保守计算,我国电子商务占GDP的比重高达15%,它对于经济转型具有重要意义。在已有大量用户数据的基础上,随着计算机科学的发展,分布式高性能计算技术诞生,使用计算机科学方法对这些信息进行有效的数据挖掘,并对电商用户进行针对性营销显得十分必要。在对用户进行针对性营销前,需要使用分类器对从用户处采集到的数据进行筛选、分析,从而有效地判断出该用户是否为某产品的潜在客户,并进一步地对用户可能购买的商品进行优先级划分。这能为商家有效地向顾客推送商品提供依据,也为顾客提供可能将要购买的产品或服务进行精准化引导。AdaBoost算法是Adaptive Boost的简称,Boosting通过将一系列弱学习器组合起来,通过集成这些弱学习器的学习能力,得到一个强学习器。具体到AdaBoost算法,AdaBoost在之前学习器的基础上改变样本的权重,增加之前被分类错误的样本的比重,降低分类正确样本的比重,然后再重点关注那些被分类错误的样本;最后按照加权投票的方式将弱分类器构造为一个强分类器,对于分类正确率高的学习器权重设置较高,而分类正确率低的学习器权重设置较低。
二、基于Hadoop的电子商务营销系统设计
本文所采用的数据分类方法为Adaboost算法,该算法对从浏览信息中提取训练样本,用迭代方法将弱分类器训练成强分类器从而划分推荐等级。从而精准地为需要推荐的商品进行优先度分级,达到精准化营销的目的。营销系统首先采集信息(从cookie、session和数据库统计到的有价值的信息,如浏览过相关商品的信息,搜索相关商品的记录,及其购买率等数据),然后通过使用训练得出的Adaboost分类器对从用户处采集到的数据进行筛选、分析(通过使用Hive来创建MapReduce任务),从而有效地判断出某用户是否为该产品的潜在客户。
MapReduce处理之后将对商品的评分转储至HBase分布式集群,当用户再次浏览的时候,Web Server向HBase集群请求调用推荐数据,HBase集群快速响应请求,返回Web Server需要向用户推荐的商品,Web Server此时将商品放置在页面的广告位。从而为商家有效地向顾客推送商品提供依据(有效的利用广告位),也为顾客提供对有意购买的产品或服务进行精准化引导。图1所示为存储系统结构与访问关系图,它展示了商品从上次被浏览到被推荐给用户的详细流程。
三、基于Hadoop的电子商务营销系统的建立
1. Hadoop集群的搭建。集群的目的是使多个计算机进行并行计算从而获得很大的计算速度和减少单点故障数量。因此,集群节点的合理分布就成为了关键,既要考虑集群各个节点的负载均衡,也要考虑Hadoop生态体系的应用程序协调。设计一个合适的集群分布结构对集群的稳定运行具有重要意义。
表1展示了所设计的Hadoop生态体系的部署结构,完善的监控机制和替换机制保证了集群的高度可靠性,节点资源共享。在其中一台节点宕机后,其他节点的相同进程会迅速转为可用状态,保证了集群的稳定。
2. 使用Hive对采集到的数據进行处理。在对数据处理的过程中,采用了Hive工具。Hive位于Hadoop生态圈中,是基于Hadoop的一个数据仓库工具,可以将结构化的数据映射为一张数据库表。编程人员提供给Hive简单的SQL语句,Hive可以自动创建一个MapReduce任务并提交到Hadoop集群中执行。AdaBoost算法的实质是给多个弱分类器加权后求累加结果,可抽象为多元一次表达式。在编程中,首先使用Hive对用户浏览数据进行去重、合并处理(在合并时,对于同件商品的浏览次数、时间等信息要累加,最后浏览时间点要更新),之后统计同类商品出现的次数,将统计得到的次数放入每条商品数据中,最后,使用聚合函数计算上文中提到的多元一次表达式的结果。此时,去重后的每条商品浏览数据都拥有了分类评分,即有了推荐的依据。Hive工具将SQL脚本作为MapReduce程序执行,执行结果中可以得到,MapReduce程序在四台Linux机器的Hadoop集群上用16秒多的时间内处理了3万余条数据。这个数据处理速度对于4台单核机器集群十分可观。
3.使用HBase对处理后的数据转储。随着电商交易量的攀升,国内的几大电商每日数据库调用次数从亿到百亿,对海量数据的高效插入和快速读取的需求越来越强。而传统关系型数据库物理存储结构,不适用于大数据的IO操作,对于数据的规模和并发读写方面进行大规模扩展时,速度降低到难以忍受,分布式更为困难。由此,考虑数据的存储方式,使用了基于HDFS( Hadoop Distributed File System)的HBase数据仓库。HBase数据仓库作为一种非关系型数据仓库,对于亿量级的数据量,可以在秒级内做出响应。HBase存储在HDFS上,每个文件块会被HDFS备份在3台机器上,在廉价平台上有良好的数据可靠性,而基于HBase的特殊存储结构保证了数据的高速响应。在表2中所展示的存储格式由RowKey(主键)和Column Families 1(列族1)够成。由于RowKey依据字典排序,因此这样设计可以使同一个用户ID下的商品信息物理存储连续,便于查找。又因为HBase特殊的IO方式,在查询数据时,HBase能够快速的定位RowKey所在的小文件位置,再遍历小文件,保证了在数据查询可以得到高速响应。
四、结语
针对电子商务用户数据的海量、分布式等特点,设计并实现了基于Hadoop的电子商务营销系统。搭建具有4个单核Linux集群的Hadoop集群,对集群进行MapReduce测试以及数据IO测试,结果可观,表明集群适合处理大规模的数据。应用Hive工具创建MapReduce程序实现了对用户数据评分并且高效率地运行在廉价机器上,选用它也可以使不精通Java语言的人员使用MapReduce来处理数据,不必开发专门的MapReduce应用;应用HBase分布式存储仓库,文件均匀分布于HDFS且有多个副本,数据可靠性高,集群运行状况良好,没有出现数据丢失现象;随着数据量的增大,集群的处理能力更具优势。证明该系统可以有效地应用于电子商务行业的精准化营销中。
参考文献:
[1]刘树仁,宋亚奇,朱永利,等.基于Hadoop的智能电网状态监测数据存储研究[J] .计算机科学,2013,40(1) :81-84.
[2]廖红文,周德龙.AdaBoost及其改进算法综述[J] .计算机系统应用,2012,21 (5) :242-244.
[3]Fay Chang,Garth Gibson.Automatic generation of I/O prefetching hints through speculative execution (poster session) [J] .CM SIGOPS Operating Systems Review,2000(2).
[4]Wbite T.Hadoop权威指南(第二版)[M] .北京:清华大学出版社,2011:43-44.
[5]赵卫中,马慧芳,傅燕翔,等.基于云计算平台Hadoop的并行Kmeans聚类算法设计研究[J] .计算机科学,2011,38(10) :166-169.
[6]于戈,谷峪,鲍玉斌,等.云计算环境下的大规模图数据处理技术[J] .计算机学报,2011,10(34) :1753-1767.
关键词:电子商务 HBase Hive Hadoop
一、引言
目前,电子商务已成为国民经济重要的组成部分,保守计算,我国电子商务占GDP的比重高达15%,它对于经济转型具有重要意义。在已有大量用户数据的基础上,随着计算机科学的发展,分布式高性能计算技术诞生,使用计算机科学方法对这些信息进行有效的数据挖掘,并对电商用户进行针对性营销显得十分必要。在对用户进行针对性营销前,需要使用分类器对从用户处采集到的数据进行筛选、分析,从而有效地判断出该用户是否为某产品的潜在客户,并进一步地对用户可能购买的商品进行优先级划分。这能为商家有效地向顾客推送商品提供依据,也为顾客提供可能将要购买的产品或服务进行精准化引导。AdaBoost算法是Adaptive Boost的简称,Boosting通过将一系列弱学习器组合起来,通过集成这些弱学习器的学习能力,得到一个强学习器。具体到AdaBoost算法,AdaBoost在之前学习器的基础上改变样本的权重,增加之前被分类错误的样本的比重,降低分类正确样本的比重,然后再重点关注那些被分类错误的样本;最后按照加权投票的方式将弱分类器构造为一个强分类器,对于分类正确率高的学习器权重设置较高,而分类正确率低的学习器权重设置较低。
二、基于Hadoop的电子商务营销系统设计
本文所采用的数据分类方法为Adaboost算法,该算法对从浏览信息中提取训练样本,用迭代方法将弱分类器训练成强分类器从而划分推荐等级。从而精准地为需要推荐的商品进行优先度分级,达到精准化营销的目的。营销系统首先采集信息(从cookie、session和数据库统计到的有价值的信息,如浏览过相关商品的信息,搜索相关商品的记录,及其购买率等数据),然后通过使用训练得出的Adaboost分类器对从用户处采集到的数据进行筛选、分析(通过使用Hive来创建MapReduce任务),从而有效地判断出某用户是否为该产品的潜在客户。
MapReduce处理之后将对商品的评分转储至HBase分布式集群,当用户再次浏览的时候,Web Server向HBase集群请求调用推荐数据,HBase集群快速响应请求,返回Web Server需要向用户推荐的商品,Web Server此时将商品放置在页面的广告位。从而为商家有效地向顾客推送商品提供依据(有效的利用广告位),也为顾客提供对有意购买的产品或服务进行精准化引导。图1所示为存储系统结构与访问关系图,它展示了商品从上次被浏览到被推荐给用户的详细流程。
三、基于Hadoop的电子商务营销系统的建立
1. Hadoop集群的搭建。集群的目的是使多个计算机进行并行计算从而获得很大的计算速度和减少单点故障数量。因此,集群节点的合理分布就成为了关键,既要考虑集群各个节点的负载均衡,也要考虑Hadoop生态体系的应用程序协调。设计一个合适的集群分布结构对集群的稳定运行具有重要意义。
表1展示了所设计的Hadoop生态体系的部署结构,完善的监控机制和替换机制保证了集群的高度可靠性,节点资源共享。在其中一台节点宕机后,其他节点的相同进程会迅速转为可用状态,保证了集群的稳定。
2. 使用Hive对采集到的数據进行处理。在对数据处理的过程中,采用了Hive工具。Hive位于Hadoop生态圈中,是基于Hadoop的一个数据仓库工具,可以将结构化的数据映射为一张数据库表。编程人员提供给Hive简单的SQL语句,Hive可以自动创建一个MapReduce任务并提交到Hadoop集群中执行。AdaBoost算法的实质是给多个弱分类器加权后求累加结果,可抽象为多元一次表达式。在编程中,首先使用Hive对用户浏览数据进行去重、合并处理(在合并时,对于同件商品的浏览次数、时间等信息要累加,最后浏览时间点要更新),之后统计同类商品出现的次数,将统计得到的次数放入每条商品数据中,最后,使用聚合函数计算上文中提到的多元一次表达式的结果。此时,去重后的每条商品浏览数据都拥有了分类评分,即有了推荐的依据。Hive工具将SQL脚本作为MapReduce程序执行,执行结果中可以得到,MapReduce程序在四台Linux机器的Hadoop集群上用16秒多的时间内处理了3万余条数据。这个数据处理速度对于4台单核机器集群十分可观。
3.使用HBase对处理后的数据转储。随着电商交易量的攀升,国内的几大电商每日数据库调用次数从亿到百亿,对海量数据的高效插入和快速读取的需求越来越强。而传统关系型数据库物理存储结构,不适用于大数据的IO操作,对于数据的规模和并发读写方面进行大规模扩展时,速度降低到难以忍受,分布式更为困难。由此,考虑数据的存储方式,使用了基于HDFS( Hadoop Distributed File System)的HBase数据仓库。HBase数据仓库作为一种非关系型数据仓库,对于亿量级的数据量,可以在秒级内做出响应。HBase存储在HDFS上,每个文件块会被HDFS备份在3台机器上,在廉价平台上有良好的数据可靠性,而基于HBase的特殊存储结构保证了数据的高速响应。在表2中所展示的存储格式由RowKey(主键)和Column Families 1(列族1)够成。由于RowKey依据字典排序,因此这样设计可以使同一个用户ID下的商品信息物理存储连续,便于查找。又因为HBase特殊的IO方式,在查询数据时,HBase能够快速的定位RowKey所在的小文件位置,再遍历小文件,保证了在数据查询可以得到高速响应。
四、结语
针对电子商务用户数据的海量、分布式等特点,设计并实现了基于Hadoop的电子商务营销系统。搭建具有4个单核Linux集群的Hadoop集群,对集群进行MapReduce测试以及数据IO测试,结果可观,表明集群适合处理大规模的数据。应用Hive工具创建MapReduce程序实现了对用户数据评分并且高效率地运行在廉价机器上,选用它也可以使不精通Java语言的人员使用MapReduce来处理数据,不必开发专门的MapReduce应用;应用HBase分布式存储仓库,文件均匀分布于HDFS且有多个副本,数据可靠性高,集群运行状况良好,没有出现数据丢失现象;随着数据量的增大,集群的处理能力更具优势。证明该系统可以有效地应用于电子商务行业的精准化营销中。
参考文献:
[1]刘树仁,宋亚奇,朱永利,等.基于Hadoop的智能电网状态监测数据存储研究[J] .计算机科学,2013,40(1) :81-84.
[2]廖红文,周德龙.AdaBoost及其改进算法综述[J] .计算机系统应用,2012,21 (5) :242-244.
[3]Fay Chang,Garth Gibson.Automatic generation of I/O prefetching hints through speculative execution (poster session) [J] .CM SIGOPS Operating Systems Review,2000(2).
[4]Wbite T.Hadoop权威指南(第二版)[M] .北京:清华大学出版社,2011:43-44.
[5]赵卫中,马慧芳,傅燕翔,等.基于云计算平台Hadoop的并行Kmeans聚类算法设计研究[J] .计算机科学,2011,38(10) :166-169.
[6]于戈,谷峪,鲍玉斌,等.云计算环境下的大规模图数据处理技术[J] .计算机学报,2011,10(34) :1753-1767.