大数据(8h)Spark页面单跳转化率

SparkCore项目实战|Top10热门品类|Top10热门品类中每个品类的Top10活跃Session统计|页面单跳转化率统计 数据分析 本项目的数据是采集电商网站的用户行为数据,主要包含用户的4种行为:搜索、点击、下单和支付。 (1)数据采用_分割字段 (2)每一行表示用户的一个行为,所以每一行只能是四种行为中的一种。 (3)如果搜索关键字是null,表示这次不是搜索 (4)如果点击的品类id和产品id是-1表示这次不是点击 (5)下单行为来说一次可以下单多个产品,所以品类id和产品id都是多个,id之间使用逗号... 阅读详情

原理图

Python实现

user_behavior = """
剑圣_21:35:00_搜索页
剑圣_21:35:01_商品页
先知_21:35:01_搜索页
先知_21:35:04_商品页
巫妖_21:35:07_搜索页
先知_21:36:30_订单页
剑圣_21:38:22_订单页
巫妖_21:39:59_商品页
农民_21:40:01_搜索页
剑圣_21:40:52_付款页
""".strip().split()
user_behavior = [line.split('_') for line in user_behavior]
print(user_behavior)

# 页面点击合计
divisor = dict()
for _, _, page in user_behavior:
    divisor[page] = divisor.get(page, 0) + 1
print(divisor)

# 按用户分组
user_group = dict()
for name, time, page in user_behavior:
    if name not in user_group:
        user_group[name] = []
    user_group[name].append((time, page))
print(user_group)

# 按时间升序
for k, v in user_group.items():
    user_group[k] = sorted(v)
print(user_group)

# 页面跳转链条
page_chain = [[i[1] for i in v] for v in user_group.values()]
print(page_chain)

# 页面跳转(拉链)
skip = ['->'.join(s) for c in page_chain for s in zip(c[:-1], c[1:])]
print(skip)

# 页面跳转统计
dividend = dict()
for s in skip:
    dividend[s] = dividend.get(s, 0) + 1
print(dividend)

# 跳转率
rate = dict()
for k, v in dividend.items():
    rate[k + ' 跳转率'] = v / divisor.get(k.split('->')[0], -1)
print(rate)

Spark实现

import org.apache.spark.{SparkConf, SparkContext}
import org.apache.spark.rdd.RDD

object Hello {
  def main(args: Array[String]): Unit = {
    val conf = new SparkConf().setAppName("a1").setMaster("local[*]")
    val sc = new SparkContext(conf)
    //数据读取
    val userBehavior =
      """|剑圣_21:35:00_搜索页
         |剑圣_21:35:01_商品页
         |先知_21:35:01_搜索页
         |先知_21:35:04_商品页
         |巫妖_21:35:07_搜索页
         |先知_21:36:30_订单页
         |剑圣_21:38:22_订单页
         |巫妖_21:39:59_商品页
         |农民_21:40:01_搜索页
         |剑圣_21:40:52_付款页
         |""".stripMargin.stripLineEnd.split("\n")
    val r0: RDD[UserBehavior] = sc.makeRDD(userBehavior, numSlices = 2).map(
      line => {
        val row = line.split("_")
        UserBehavior(row(0), row(1), row(2))
      }
    )
    //页面点击合计
    val m = r0.map(u => (u.page, 1)).reduceByKey(_ + _).collect.toMap
    println(m)
    //分组
    val r2: RDD[(String, Iterable[UserBehavior])] = r0.groupBy(_.name)
    //分组内数据处理
    val r3: RDD[(String, List[(String, Int)])] = r2.mapValues(b => {
      //分组内排序
      //val s = b.toList.sortBy(_.time)
      val s = b.toList.sortWith((left, right) => left.time < right.time)
      //只要页面
      val p = s.map(_.page)
      //拉链
      val z = p.zip(p.tail)
      //计数
      z.map(pp => (pp._1 + "->" + pp._2, 1))
    })
    //扁平化
    val r4: RDD[(String, Int)] = r3.map(_._2).flatMap(e => e)
    //合计
    val r5: RDD[(String, Int)] = r4.reduceByKey(_ + _)
    println(r5.collect.toList)
    //跳转率
    val r6: RDD[(String, Double)] = r5.map(
      t => (t._1, t._2.toDouble / m.getOrElse(t._1.split("->")(0), -1))
    )
    println(r6.collect.toList)
  }
}

//样例类:元数据
case class UserBehavior(name: String, time: String, page: String)

HIVE实现

https://yellow520.blog.youkuaiyun.com/article/details/116200798

spark sql页面单跳转换率统计 **1要求 :计算给定的页面访问流的页面单跳转化率 ** 伪代码流程: 我们需要去分析每一次的页面访问流程,也就是用户从进入网站到离开网站这个流程中所访问的页面顺序,也就是一个session中的页面访问顺序。 假如一个session的页面访问顺序为1,2,3,4,5,那么他访问的页面切片就是1_2,2_3,3_4,4_5,如果得到所有session的切面切片m_n,就可以计算每一... 阅读详情

相关推荐

Spark项目实战—电商用户行为分析

利用spark分析电商用户行为

weixin_42570840的博客 5018

【Spark】Spark电商数据分析

Spark电商数据分析数据展示与分析需求:Top10 热门品类需求分析实现方法一实现方法二实现方法三实现方法四需求:Top10 热门品类中每个品类的 Top10 活跃 Session 统计需求:页面单跳统计什么是页面单跳统计页面单跳的意义 数据展示与分析 上面的数据图是从数据文件中截取的一部分内容,表示为电商网站的用户行为数据,主要包含用户的 4 种行为:搜索,点击,下单,支付。数据规则如下: ➢ 数据文件中每行数据采用下划线分隔数据 ➢ 每一行数据表示用户的一次行为,这个行为只能是 4 种行为的一种.

HR的博客 4154

【信息科学与工程学】【通信工程】【企业网、园区网、数据中心、广域网】各类业务网络及其网络演算算法

企业网络是一个复杂的系统,其业务、人员、流量和安全特征相互交织。下面这张表格梳理了这些核心特征及其关联的数学模型,帮你先建立整体概念。特征维度核心特征关联数学模型/方法业务特征​多样性、服务等级协议、混合云趋势图论(拓扑优化)、排队论(M/M/1)、随机过程(业务到达)、优化理论(资源调度)人员特征​角色权限差异、访问行为随机性、安全意识差异概率统计(行为建模)、随机过程(会话生成)、博弈论(安全策略)、访问控制矩阵流量特征​混合性、突发性、时空规律性、方向性(南北/东西向)泊松过程(短时突发)、重尾分布(

weixin_49199313的博客 890

1.Spark大型电商项目实战简介

本项目主要用于互联网电商企业中,使用Spark技术开发的大数据统计分析平台,对电商网站的各种用户行为(访问行为、购物行为、广告点击行为等)进行复杂的分析。

Erik_ly的博客 2万+

大数据Spark案例实操3–统计电商网站的用户行为页面单跳转换率统计

文章目录1.数据准备和分析2.需求说明3.代码 1.数据准备和分析 参考上篇博客 https://blog.youkuaiyun.com/qq_42754919/article/details/118071049 2.需求说明 计算页面单跳转化率,什么是页面单跳转换率,比如一个用户在一次 Session 过程中 访问的页面路径 3,5,7,9,10,21,那么页面 3 跳到页面 5 叫一次单跳,7-9 也叫一次单跳, 那么单跳转化率就是要统计页面点击的概率。 分析如下: 页面是指同一个sessionID,在一个连续的

qq_42754919的博客 826

基于单片机控制的开关电源设计

采用开关电源技术和MCU模块,凭借可靠性高、易于调适的特点,可以更高效地发挥出二者的优势,从而实现更好的组合。stm32的起动模式是通过Boot0和Boot1两个管脚的高低电平来决定的,当stm32被供电之后,这两个管脚的电平。在 VCC上,键盘的一头(列线)被连接到 VCC上,而在“0”的编程输出中,则用来进。,在开关管打开的情况下,由输入电力供给电流,感应装置存储   Buck变换器是一种非隔离式的电压转换器[10]整流电路对输入电压进行整流,再经过滤波电路,即Dc电压是直流/直流变换器的直流输入。

QQ1694456187的博客 2313

spark:页面单跳转换率统计(案例)

如果用户在一次Session过程中访问的页面路径为3,9,10,那么页面3跳到页面9叫一次单跳,单跳转化率就是统计页面点击的概率。如计算3-9的单跳转化率,先获取符合条件的Session对于页面3的访问次数A,然后获取符合条件的Session中访问页面3又接着访问页面9的次数B,那么B/A就是3-9的页面单跳转化率。根据这个指标可以去尝试分析整个网站,产品,各个页面的表现,及时作出更改。.........

qq_55906442的博客 1109

mongoDB 数据莫名其妙的没了

问题 之前没有接触过mongoDB,然后接手一个项目使用的是MongoDB,我就跟着网上的教程搭建一个MongoDB的服务,并运行起来。 一开始没有啥问题,成功的把服务与MongoDB都启动以来,运行也没有问题。但是过了几天,我再次打开时发现,以前的数据神奇的消失了。我还在想,是有什么定时清除的么,还是什么原因导致崩了然后数据就被清理了。 查找原因 第一次遇到我没有在意,重启了一下MongoDB,...

技术熊的博客小窝 1万+

【大数据学习篇10】Spark项目实战~网站转化率统计

通过页面单跳转化率的计算公式得知,若要计算单跳A→B的页面单跳转化率,首先需要获取页面A的访问次数,然后需要获取单跳A→B的次数,最终将这两部分数据代入页面单跳转化率的计算公式中计算单跳A→B的页面单跳转化率。在计算每个单跳的页面单跳转化率之前,需要将每个页面与每个单跳进行一一对应,也就是说如果计算单跳A→B的页面单跳转化率,那么代入页面单跳转化率计算公式中的一定是页面A的访问次数,而不能是页面B或C的访问次数。本章我们将对用户浏览网页数据进行分析,从而统计出页面单跳转化率。

m0_56073435的博客 2557

高光谱知识(1)-高光谱成像技术的理解

系列文章目录 高光谱技术可以获得待观测目标或场景的连续单色光谱图像,并通过空间维(x, y)数据和光谱维(λ)数据共同组成三维观测数据立方体,从而为研究人员提供探测目标或场景中的每一个点的空间和光谱特征细节。这种兼具相机的高分辨成像能力和光谱仪的高光谱分辨能力使得高光谱被广泛应用于测绘遥感、目标识别、环境监测与评估、临床影像诊断、过程监控等任务中,并在地理、空间、海洋、气候、大气、农业、植被、生态、医药、安防、制造与色度等多个领域中发挥巨大作用。 文章目录系列文章目录前言一、按获取数据的过程划分二、按照光

Echo_Code的博客 1万+

【Transformer 相关理论深入理解】注意力机制、自注意力机制、多头注意力机制、位置编码

transformer原理

qq_38253797的博客 2万+

Sparkcore案例实操:需求三---页面单跳转化率统计

一、需求说明 1)页面单跳转化率计算页面单跳转化率,什么是页面单跳转换率,比如一个用户在一次Session 过程中访问的页面路径3,5,7,9,10,21,那么页面3 跳到页面5 叫一次单跳,7-9 也叫一次单跳,那么单跳转化率就是要统计页面点击的概率。比如:计算3-5 的单跳转化率,先获取符合条件的Session 对于页面3 的访问次数(PV)为A,然后获取符合条件的Session 中访问了页面3 又紧接着访问了页面5 的次数为B,那么B/A 就是3-5 的页面单跳转化率。 2)统计页面单跳转化率意义产

m0_48830183的博客 784

Simulink仿真状态空间中状态变量时域响应

起因 今天老师留了一道关于状态空间变量响应的题,于是想用simulink仿真,一开始使用state-space模块,但是发现它只能输出y,没办法显示状态变量的变化情况。然而状态变量之间的关系都可以表示为一阶微分方程组,因此我们考虑在Simulink中搭建微分方程组来求解这个问题。 微分方程组 x1˙=x2x2˙=−4x1−5x2+1(1)\dot{x_1}=x_2\\ \dot{x_2}=-4x_...

ZYunfei的博客 7469

Spark_RDD实现页面跳转率计算

package com.rdd.topn import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} //城市 id object PageflowAnalysis2 { def main(args: Array[String]): Unit = { val conf: SparkConf = new SparkConf().setMaster(“local[*]”).setAppName(“HotCat

weixin_43003792的博客 303

基于单片机的智能体重秤设计与嵌入式程序实现

智能体重秤的基本功能是测量用户的体重,并将数据通过无线方式传输到终端设备(如智能手机、电脑或云平台)进行管理。体重测量:实时测量用户体重,并进行数据存储。BMI(体质指数)计算:基于体重和身高计算BMI值,帮助用户了解健康状况。多用户管理:通过蓝牙或Wi-Fi技术支持多用户体重数据记录。健康数据分析:结合历史数据分析体重变化趋势。语音播报:通过语音播报用户体重,便于老人或视力不便的人士使用。数据同步:通过App或云平台同步数据,进行长期健康监控。

2201_76125393的博客 1758

实现真正的「人机」对战:引入三方 AI 引擎

引入三方 AI 引擎 前边,我们实现了与云库对战的象棋游戏。这一节中,我们将开始实现真正的「人机」对战 — 人与手机 AI 之间对弈; 实现一套象棋 AI 工程浩大,这个工作我们后续文章会做一番介绍。现代软件工程并不主张每个人都「造轮子」,因此我们要有「站在巨人肩膀上」的小智慧。 本节概要 从 github 寻找开源中象引擎 梳理引擎接入的思路 寻找适合的开源中国象棋引擎 github 上有大...

tosmart的博客 983

Spark快速大数据处理

课程的主要内容包括: 1.ZooKeeper-分布式过程协同组件2.Hadoop3-大数据基础组件3.Tez-Yarn底层计算引擎4.Hive3-大数据仓库5.Spark2实时大数据处理6.Oozie5-大数据流程引擎课程特点: 1.最新API: Hadoop3/Spark2/Hive3/Oozie52.手工搭建集群环境:编译+搭建3.配套资源:分阶段镜像+课件+安装资源,其中安装资源包括案例源码、脚本等4.案例为主:分模块案例+天池数据分析竞赛5.故障教学6.完整实战项目:天池数据分析

手把手教你学PCIE--所有 PF(Physical Function)共同管理和分配 VF

但具体如何分配和使用 VF 取决于硬件设计、驱动程序配置以及实际应用场景。

MHD0815的博客 1464

92.Spark大型电商项目-页面单跳转化率-页面切片生成以及页面流匹配算法实现

目录 代码 PageOneStepConvertRateSpark.java 本篇文章记录页面单跳转化率-页面切片生成以及页面流匹配算法实现。 代码 PageOneStepConvertRateSpark.java package graduation.java.spark.page; import com.alibaba.fastjson.JSONObject; import ...

someby的博客 680

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Spark Core项目实战(3) | 页面单跳转化率统计

数据源 链接:https://pan.baidu.com/s/1TtBQpQUNBebqxrrx9czxqQ 提取码:fmw6 源码在github:https://github.com/lidonglin-bit/Spark-Core 目录一.页面单跳转化率统计需求简介思路分析二.具体实现具体业务实现完整项目代码 一.页面单跳转化率统计 需求简介 计算页面单跳转化率,什么是页面单跳转换率,比如一个用户在一次 Session 过程中访问的页面路径 3,5,7,9,10,21,那么页面 3 跳到页面 5

Knight 899

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Spark综合使用及用户行为案例页面转化率统计分析实战-Spark商业应用实战

版权声明:本套技术专栏是作者(秦凯新)平时工作的总结和升华,通过从真实商业环境抽取案例进行总结和分享,并给出商业应用的调优建议和集群环境容量规划等内容,请持续关注本套博客。QQ邮箱地址:1120746959@qq.com,如有任何技术交流,可随时联系。 1 页面转化率概念 页面转化率的求解思路是通过UserAction表获取一个session的所有UserAction,根据时间顺序排序后获取全...

weixin_34120274的博客 623

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Spark综合项目:企业电商分析平台

1. 背景说明 2. 系统架构 3.业务分析 4.需求编码 5.技术总结

Zeroowt的博客 1842

spark大型项目实战:电商用户行为分析大数据平台(一)

标签:spark,大数据,电商,用户行为 项目介绍: 本项目主要用于互联网电商企业中,使用spark技术开发的大数据统计分析平台,对电商网站的各种用户行为(访问行为,购物行为,广告点击行为等)进行复杂的分析。用统计分析出来的数据,辅助公司中的pm(产品经理),数据分析师以及管理人员分析现有产品的情况,并根据用户行为分析结果持续改进产品的设计,以及调整公司的战略和业务,最终达到用大数据技术来帮助...

weixin_37818824的博客 6720

layer打开弹窗时传递参数

js var userGrade=Mrant layer.open({ title: '弹出页面', area: ['800px', '500px'], shade: [0.3, '#393D49'], content: "test.html?grade="+userGrade, yes: function(index) { } }); 弹出层获取 传过来的参数 function RequestParameter(){ var url = window.location.s...

Ark方舟 2177

94.Spark大型电商项目-页面单跳转化率-计算页面切片的转化率

目录 代码 PageOneStepConvertRateSpark.java 本篇文章记录页面单跳转化率-计算页面切片的转化率。 代码 PageOneStepConvertRateSpark.java /** * 计算页面切片转化率 * @param taskParam 使用者传输的页面参数 * @param pageSplitPvMap 页面...

someby的博客 565

大数据分析平台-项目5转化率

转化率 首页–搜索–商品详情–订单–支付–支付完成 比如有100个人点击了首页 80个人去搜索了 20个人退出了 搜完之后发现没什么喜欢的 50个人点详情了 30个人退出了 之后又10人下单 10个人加入购物车 30个人退出了 例如:酬宾活动—商品—支付 100 3人支付 object PageCount { def main(args: Array[String]): Unit = { val spark = SparkSession.builder() .master(

q736317048的博客 486
上一篇: 大数据(8g)图解共享变量:累加器 and 广播变量
下一篇: 大数据(8k)结构化数据处理SparkSQL
小基基o_O
博客等级 码龄9年 4414粉丝 467原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小基基o_O

您的鼓励是我创作的巨大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值