计算页面单跳转化率(pyspark)

  1. 模拟数据
  2. 需求
  3. 方案

本文可看做是 用户行为分析(pyspark) 的后续篇, 主要意在介绍使用spark如何计算页面单跳转化率,完整代码可以点击参考这里,代码中有详细的注释,所以可以也可以略过文章,直接看代码项目源码地址

模拟数据

模拟数据与 用户行为分析(pyspark) 中的模拟数据一样

需求

根据指定的页码,计算各个网页之间的跳转转化率,比如用户输入页码 1, 3, 5, 7, 就要返回
1->3, 3->5, 5->7 这三个页面之间的跳转率

方案

  1. 首先要按照session粒度聚合用户行为数据,这一点,同用户行为分析(pyspark)
  2. 对session rdd 做 flatmap 操作, 对session 下的所有行为记录按照时间做升序排序,对于这些连续的行为记录,认为后一个页面是从前一个页面跳转来的,比如按照时间排序后访问的页码为 1, 3, 那么就认为页面 3 是从页面 1 跳转过来的.遍历排好序的页码,生成格式为 ("1_3", 1) 的关于页面切片的 rdd,这里要特别注意需要生成起始页的访问数,可以记作0_1
  3. 对上面生成的 rdd 执行 countByKey 操作,可以计算出每个切片的数量
  4. 根据用户输入的页码,生成页码切片,比如用户输入的页码为 ``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" 转载请保留原文链接及作者。

目录
×

喜欢就点赞,疼爱就打赏

github