为更好的为电子商务网站提供运营,需要建设一套用户行为分析的平台。以此来统计用户行为日志,订单数据,更好的服务和支撑运营。就是这样的通用性的平台,思考了好久,整理一下。同各位分享。
1、电商平台建设和部署。主要包括首页、搜索列表页面、类目列表页面、单品页面、专题页面等
2、用户行为日志收集。用户行为分布在不同的实例上。
对一个中小型网站来说,无论是业务比较简单、访问量比较小,对于用户行为日志和订单数据可以通过普通的JAVA程序,部署在单一的服务器上后就可以搞定。
1、业务建设方案
1.1、定时程序每隔5秒处理产生日志并且仅处理一次。记录每次页面访问轨迹和用户访问轨迹。
说明:
页面访问:表示每一次访问,即PV数据源。可通过SID来表示每次访问。
用户访问:同一个页面同一个用户24小时内仅记录一次,即UV数据源。其中,同一个用户可以通过UID(设置24小时后失效)来表示。
专业术语:
pv:浏览量。淘宝上,就是你的网店中每个宝贝被访问了多少次。就是说宝贝页面被打开过多少次。关闭了再打开就多计算一次。累加,总流量就是你店的所有产品被N次访问的总和。
UV:就是有多少个IP数量。就是指的有多少人在访问你的店。每个人用的电脑和在不同的地方。所以IP不一样。这样就是就能说明客户的多少。
两者区别:PV和UV结合,UV少,PV多。说明来你店的客人,打开了多个网页。很喜欢你的店。
PV如果和UV数差不多。说明来看你店的客人。来看一眼就走了。这就需要你自己好好看看你店有没有吸引力了
2、技术架构
二、转型篇
随着网站业务的不断发展,业务量不断增加、访问人员不断增长。对日志的统计和分析就变得很复杂,单一节点的服务已经满足不了日益业务发展的需要。这个时候对用户行为和订单量的分析要求不高,只要按照按天 或者 按照小时统计出来即可。这个时候我们可以选择Hadoop平台来完成。
技术方案: 利用hadoop+hive+hbase离线处理日志,生成PV和UV结果
技术步骤:
1、 搭建Hadoop集群,离线日志文件批量处理
2、统计PV和UV
2.1 通过开发MapReduce程序实现
2.2 通过Hive脚本实现
为更好的实时监控用户行为和订单数量等指标,客户的要求越来越高,让我们实时统计并分析出来结果,对于一个大流量、高并发的网站来说。大数据量的数据实时访问就变得困难起来,这时候我们可以通过storm实时计算框架来完成。
技术方案: 利用flume-ng+kafka+storm 日志流式实时处理,生成PV和UV结果
技术步骤:
1、 flume-ng+kafka+storm
2、开发程序
四、飞跃篇
spark 提倡一站搞定所有大数据领域相关的问题,采用spark来演示如何实时统计PV和UV数据的
技术方案: 利用spark 日志实时处理,生成PV和UV结果
技术步骤:
1、spark
2、开发程序