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

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

开发者学堂课程【大数据实战项目 - 反爬虫系统(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 数据库之中即可。

相关文章
|
设计模式 Java 测试技术
Java 中的依赖注入和控制反转(IoC)
【4月更文挑战第19天】Java编程中的依赖注入和控制反转(IoC)是提升代码可维护性、可测试性和灵活性的关键设计模式。依赖注入通过外部注入对象依赖,减少硬编码,而IoC则是将控制权交给外部框架或容器。两者带来松耦合、可测试性、代码重用和灵活性。实现方式包括Spring框架和手动注入。使用框架能提供额外功能并简化管理,但要注意明确依赖关系、避免过度依赖和选择合适注入方式。依赖注入和IoC是构建健壮系统的有效工具。
252 2
|
JSON NoSQL 关系型数据库
MongoDB数据的导入与导出
MongoDB数据的导入与导出
821 0
|
9月前
|
机器学习/深度学习 数据处理
大语言模型中的归一化技术:LayerNorm与RMSNorm的深入研究
本文分析了大规模Transformer架构(如LLama)中归一化技术的关键作用,重点探讨了LayerNorm被RMSNorm替代的原因。归一化通过调整数据量纲保持分布形态不变,提升计算稳定性和收敛速度。LayerNorm通过均值和方差归一化确保数值稳定,适用于序列模型;而RMSNorm仅使用均方根归一化,省略均值计算,降低计算成本并缓解梯度消失问题。RMSNorm在深层网络中表现出更高的训练稳定性和效率,为复杂模型性能提升做出重要贡献。
1985 14
大语言模型中的归一化技术:LayerNorm与RMSNorm的深入研究
|
11月前
|
供应链 数据挖掘 API
1688app 商品详情接口系列(1688API)
1688作为国内知名批发采购平台,提供了一系列商品详情接口(API),助力企业和开发者获取商品基础、价格、库存及供应商信息。通过Python示例代码展示如何调用这些接口,应用场景涵盖采购决策辅助、数据分析与市场调研、电商平台整合及供应链管理系统的优化,为企业和采购商提供有力的数据支持,提升业务效率和竞争力。
399 15
|
开发框架 测试技术 Android开发
移动应用开发之旅:从新手到专家
本文将带领读者踏上移动应用开发的旅程,从基础概念的铺垫到高级技术的深入,逐步揭示如何构建一个成功的移动应用。文章不仅涵盖移动操作系统的核心知识,还提供实用的开发技巧和最佳实践,旨在帮助初学者快速入门,并引导有一定基础的开发者进一步提升技能。通过阅读本文,你将了解移动应用开发的各个阶段,包括设计、编码、测试和发布,以及如何应对市场变化和技术更新的挑战。无论你是刚开始探索移动应用开发的世界,还是希望扩展你的技术栈,这篇文章都将为你提供宝贵的指导和灵感。让我们开始这段激动人心的旅程吧!
372 6
|
10月前
|
Rust 安全 Java
当质疑声起,C++ 用实力碾碎所有否定,夺回本应属于它的地位
当质疑声起,C++ 用实力碾碎所有否定,夺回本应属于它的地位
|
Java 开发者
偏向锁和轻量级锁的适用场景是什么
【10月更文挑战第20天】偏向锁和轻量级锁的适用场景是什么
|
监控 网络协议 Java
Java Socket编程 - 基于TCP方式的二进制文件传输
Java Socket编程 - 基于TCP方式的二进制文件传输
207 0
|
域名解析 缓存 网络协议
计算机网络——网络基础_网络命令的使用(配置主机IP、ipconfig、ping、tracert、arp实战)
任务要求 打开Windows 10的命令(控制台)窗口。 实验步骤 有多种方法打开Windows命令(控制台)窗口。其中一种较为快速的方法是: 在键盘上按下“Win+R"组合键,系统将打开“运行"窗口,如图1-1所示。键入cmd.按回车键或单击“确定”按钮,Windows将打开命令(控制台)窗口,显示俞令提示符,如图1-2所示。
2532 1
计算机网络——网络基础_网络命令的使用(配置主机IP、ipconfig、ping、tracert、arp实战)
|
前端开发
Google Earth Engine(GEE)——如何加载ee.FeatureCollection中点数据在MAP中
Google Earth Engine(GEE)——如何加载ee.FeatureCollection中点数据在MAP中
797 0
Google Earth Engine(GEE)——如何加载ee.FeatureCollection中点数据在MAP中