开发者学堂课程【大数据实战项目 - 反爬虫系统(Lua+Spark+Redis+Hadoop框架搭建)第七阶段:离线数据计算-国际查询转换率及其他】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/675/detail/11741
离线数据计算-国际查询转换率及其他
内容简介:
一、国际查询转换率
二、计算和数据获取方式
三、国内航班选择-旅客信息 转换率
四、国际航班选择-旅客信息 转换率
五、爬虫用户转换率
六、正常用户转换率
一、国际查询转换率
国际查询转换率=添加乘客信息量/浏览的总量
二、计算和数据获取方式
(1)、在 request1-transformed 表中过滤出是国际的操作
代码
request1-transformed.filter(request1-transformed(“flightType”).equalTo(other=”
Intern
ational”)).filter(request1-transformed(“StageTag”).equalTo(other=”
International”)).filter(request1-transformed(“StageTag”).equalTo(other=”2”)).count().toFloat/request1.filter(request1(“flightType”).equalTo(other=”National”)).filter(request1(“StageTag”).equalTo(other=”1”))
println(InternationalRate-1)
v
al1tcast_domest1C_inter_conversion_rate_KDD2=
s
c.parallelize(Array(UUID.randomUUID().toString()+”,”+”0,”+”1,”+InternationalRate_1)).map(-.split(regex=”,”
/
/
通过
StructType
直接指定每个字段的s
chema
val rowRDD2=itcast_domestic_conversion-rate-RDD2.map(p=>Row(p(0),p(1).toInt,p(2),toInt,p(3).toFloat,data
//
将s
chema
信息应用到rowRDD上
提取数据时,输入数据改θ为1
(2)、在上面数据的基础上过滤出 StageTag/2在上面数据的基础上过滤出StageTag=1
第一个θ 步骤类型:θ查询到旅客信息,1旅客信息到下单,2下单到完成支付
第二个θ 类型:θ国内,1国际
三、国内航班选择-旅客信息 转换率
(1)、在 request1-transformed 表中过滤出时 National 的操作
代码
val
NainlRate_
2=request1_transformed,filter(request1_transformed(“flightType”),equa1To(other=”Nayional”)),filter(request1.filter(request(“flightType”).equest1(“flightType”).equa1To(other=”National”)).filter(request1(“StageTag”).equalTo(other=”2”)).
Println(
“国内航班选择-旅客信息 转换率”)
Println(Natina1Rate
_
2)
(2)、StageTag=Tag=2
四、国际航班选择-旅客信息 转换率
(1)、在 request-transformed 表中过滤出时 International 的操作
代码val Internationa1Rate_2=request1_transformed.filter(request1_transformed(“flightType”).equa1To(other=”Internatinal”))
r
equest1.filter(request1(“flightType”).equa1To(other=”Internatinal”)).filter(request1(“StageTag”).equa1To(other=”2”
p
rintln(
“国际航班选择-旅客信息 转换率”)
print六年(InternatinalRate
_2)
(2)、StageTag=3/StageTag=2
五、爬虫用户转换率
(1)、在 request1-transformed 表中过滤出时爬虫的数据
val
代码SpiderUserRate_1=request1_transformed.filter(request1_transformed(“SpiderTag”).equalTo(other=”1”))
.
filter(request1_transformed(“StageTag”).equalTo(other=”2”)).count().toFloat/
Request.filter(request_transformed(“StageTag”).equalTo(other”1”)),filter(request1(“StageTag”).equalTo(other=”1”)).count().
Println(
“爬虫用户转换率”)
P
rint六年(SpiderUserRate_1)
/“
(2)、在上面数据的基础上过滤出 StageTag=2/ 在上面数据的基础上过滤出 StageTag=1
六、正常用户转换率
(1)、在 request1-transformed 表中过滤出时不是爬虫的数据
代码val NormalUserRate_1=request1_transformed.filter(request1_transformed(“SpiderTag”),equalTo(other=”0”)),filter(requst1,filter(request1(“SpiderTag”),equalTo(other=”0”)),filter(request1(“StageTag”),equa1To(other=”1”)),count(),
p
rintln(
“正常用户转换率“)
println(NormaUserRate_1
)
(2)、在上面数据的基础上过滤出 StageTag=2/在上面数据的基础上过滤出 StageTag=1