离线计算-国内查询转换率|学习笔记

简介: 快速学习离线计算-国内查询转换率

开发者学堂课程【大数据实战项目 - 反爬虫系统(Lua+Spark+Redis+Hadoop框架搭建)第七阶段离线计算-国内查询转换率】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/675/detail/11740


离线计算-国内查询转换率


内容简介:

一、国内查询转换率计算公式

二、计算国内查询转换率

三、将计算出来的数据追加到数据库


一、国内查询转换率计算公式

计算公式:国内查询转换率=添加乘客信息量÷浏览的总量

浏览的总量除以浏览的总量添加乘客信息,多少个人添加,然后再加上浏览的总量,算出来的就是查询的转化率

比如说,有100个人查询,但是有50个人添加乘客信息,100个人浏览50个人添加乘客信息,那这50个就是我的转化率,50%


二、计算国内查询转换率

(1)、在 request1-transformed 表中过滤出是国内的操作

(2)、在上面数据的基础上过滤出 StageTag=2÷在上面数据的基础上过滤出 StageTag=1

代码

val  NatinalRate-1=

request1-transformed.filter(request1-transformed(“flightType”).equalTo(other=”National”)).filter(request1-transformed(“StageTag”).equalTo(other=”National”)).filter(request1-transformed(“StageTag”).equalTo(other=”2”)).count().toFloat/request1.filter(request1(“flightType”).equalTo(other=”National”)).filter(request1(“StageTag”).equalTo(other=”1”))

println(NatinalRate-1)

查出国内的转化数据,后再去算转化率,就是等于2的数据除以等于1的数据就是国内的转化率了。

我们拿到 AD 等于空的删掉剩下这些数据,然后我调用它的 filter,数据当中的 flattype national 的就是国内转化数据,等于 national 的,就是把国内的数据全都是过滤出来了

在过滤完国内的数据以后,去调一个 transformed 继续过滤,StageTag 等于2的数据过滤出来以后我再调用一个count,计算出数据个数,filter 看的就是国内的。不论是国内的时间等于1的,国内转换率等于2的数量除以国内的等于1的数量的总数,就是国内查询转换率 。


三、将计算出来的数据追加到数据库(Mysql)

通过并行化创建 RDD

θ查询到旅客信息,1旅客信息到下单,2下单到完成支付

itcast  domestic-inter-conversion-rate

第一个θ    步骤类型:θ查询到旅客信息,1旅客信息到下单,2下单到完成支付

第二个θ     类型:θ国内,1国际

等于“2“的数据量/等于”1“的数据量

代码

val itcast_domestic_inter_conversion_rate_RDD=

sc.parallelize(Array(UUID.randomUUID().toString()+”,”+”0,”=”0,”=NatinalRate_1)).map(_,split(regex=”,”))

//通过StructType直接指定每个字段schemaval schema=StrutType(List(StructFild(“id”,StringType,true),StructField(“step_type”,IntegerType,true),StructFild

//将RDD映射到rowRDDval rowRDD=itcast_domestic_inter_conversion_rate_RDD.map(p=>Row(p(0),p(1).toInt,p(3).toFloat,dataTin

//将schema信息应用到rowRDD上

val personDataFrame=sqlContext.createDataFrame(rowRDD,schma)

//将数据追加到数据库

personDataFrame.write.mode(saveMode=”append”).jobc(url=”jbdc:mysq1://192.168.100.160:3306/gciantider”,table= Gciantispider.itcast_domestic_inter_conversion_rate”,SparkMySq1Properties

Println(“国内查询转换率“)

Println(NatinalRate_1)

先输入一段代码,通过并行化创建 RDD,在 UUID 中,将数值和应用场景拼接起来,其中0代表查询的旅客信息,1代表旅客信息下单,2代表下单完成支付的信息。其中只有四个值,可实际中有五个值,第五个字段在后面补齐。

注意因为应用场景很多,所以在写入数据库时一定要把数据的应用场景也一并写入。数据有了,之后输入schema将数据对应数据库。然后将数据进行遍历,将数据进行封装,封装成 Row,顺便补齐第五个数值 dataTime。DataFreme 封装完以后,处理好的数据写入 Mysql 数据库之中即可。

相关文章
|
24天前
|
存储 前端开发 搜索推荐
ClkLog基于ClickHouse 的百万日活实测报告
自 ClkLog 上线以来,我们不断吸纳用户需求,提升产品的支持能力。今年下半年,我们遇到了日活跃用户数达到百万级别的客户。为了给 ClkLog 用户提供可靠的技术建议和解决方案,同时也为了节省成本,在Clickhouse官方支持下,我们在阿里云上对 ClickHouse 社区版、企业版进行了详细测试和成本分析。
|
7月前
|
关系型数据库 分布式数据库 数据库
PolarDB闪电助攻,《香肠派对》百亿好友关系实现毫秒级查询
PolarDB分布式版助力《香肠派对》实现百亿好友关系20万QPS的毫秒级查询。
PolarDB闪电助攻,《香肠派对》百亿好友关系实现毫秒级查询
|
5月前
|
存储 关系型数据库 分布式数据库
|
7月前
|
关系型数据库 分布式数据库 数据库
PolarDB-X助攻《香肠派对》百亿好友关系实现毫秒级查询
云原生数据库PolarDB分布式版(PolarDB for Xscale,简称PolarDB-X)有极强的线性扩展能力,能够多写多读;它的全局索引能力,是分布式改造的利器,成功解决了传统分布式方案中多维度查询的难题,在《香肠派对》的好友系统上,实现了百亿好友关系20万QPS的毫秒级查询。
PolarDB-X助攻《香肠派对》百亿好友关系实现毫秒级查询
|
7月前
|
数据可视化
实时榜单排行计算
实时榜单排行计算
173 0
实时榜单排行计算
|
消息中间件 存储 分布式计算
【大数据学习篇11】广告点击流实时统计
【大数据学习篇11】广告点击流实时统计
353 0
【大数据学习篇11】广告点击流实时统计
|
SQL 监控 数据库
网站流量日志分析—数据入库—宽表具体表现1—时间拓宽|学习笔记
快速学习网站流量日志分析—数据入库—宽表具体表现1—时间拓宽
236 0
网站流量日志分析—数据入库—宽表具体表现1—时间拓宽|学习笔记
|
数据采集 大数据 开发者
离线数据计算-国际查询转换率及其他|学习笔记
快速学习离线数据计算-国际查询转换率及其他
169 0
|
存储 SQL Cloud Native
双11特刊 | 迎难而上,支撑350亿次在线查询的数据仓库是怎样炼成的?
阿里云数据库已连续多年稳定支撑天猫双11,历经极端流量场景淬炼。除了保障稳定顺滑的基本盘,今年大促期间数据库通过全面云原生化,大幅提升用户体验,让技术帮助业务产生更有价值的消费者体验,持续通过技术创新赋能用户,引领技术发展路径。 双11已圆满落幕,但技术的探索,仍未止步。 “阿里云数据库” 公众号特此推出《好科技的新起点——2021双11阿里云数据库技术揭秘》系列干货文章,为你讲述年度“技术大考”背后的故事,敬请关注!
555 1
双11特刊 | 迎难而上,支撑350亿次在线查询的数据仓库是怎样炼成的?
|
数据可视化 Serverless BI
基于阿里云函数计算FC开发疫情数据统计推送
疫情数据统计推送基于Python和阿里云函数计算FC开发。实现了使用Python爬取获得疫情数据并进行整理,使用函数计算配合定时触发器,每天定时推送全国疫情数据到企业微信。
345 0
基于阿里云函数计算FC开发疫情数据统计推送