计算页面单跳转化率(pyspark)
本文可看做是 用户行为分析(pyspark) 的后续篇, 主要意在介绍使用spark如何计算页面单跳转化率,完整代码可以点击参考这里,代码中有详细的注释,所以可以也可以略过文章,直接看代码项目源码地址
模拟数据
模拟数据与 用户行为分析(pyspark) 中的模拟数据一样
需求
根据指定的页码,计算各个网页之间的跳转转化率,比如用户输入页码 1, 3, 5, 7
, 就要返回1->3, 3->5, 5->7
这三个页面之间的跳转率
方案
- 首先要按照session粒度聚合用户行为数据,这一点,同用户行为分析(pyspark)
- 对session rdd 做 flatmap 操作, 对session 下的所有行为记录按照时间做升序排序,对于这些连续的行为记录,认为后一个页面是从前一个页面跳转来的,比如按照时间排序后访问的页码为
1, 3
, 那么就认为页面 3 是从页面 1 跳转过来的.遍历排好序的页码,生成格式为("1_3", 1)
的关于页面切片的 rdd,这里要特别注意需要生成起始页
的访问数,可以记作0_1
- 对上面生成的 rdd 执行 countByKey 操作,可以计算出每个切片的数量
- 根据用户输入的页码,生成页码切片,比如用户输入的页码为 ``1, 3, 5, 7
, 就要生成
0->1,1->3, 3->5, 5->7这四个切片,从上面 countByKey 中取出相应切片的数量,量量相除,可得转化率,比如用
1->3的数量除以
0->1` 的数量,就可以计算出从页面 1 到 3 的跳转率
具体实现,参考代码
文章标题:计算页面单跳转化率(pyspark)
文章字数:468
本文作者:Waterandair
发布时间:2018-04-20, 09:24:06
最后更新:2019-12-28, 14:03:59
原始链接:https://waterandair.github.io/2018-04-20-spark-app-page-convert-rate.html版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。