数据预处理-航线类型操作类型目标与思路|学习笔记

简介: 快速学习数据预处理-航线类型操作类型目标与思路

开发者学堂课程【大数据实战项目:反爬虫系统(Lua+Spark+Redis+Hadoop 框架搭建)第三阶段数据预处理-航线类型操作类型目标与思路】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/671/detail/11652


数据预处理-航线类型操作类型目标与思路


内容介绍:

一、航线类型操作类型目标

二、航线类型操作类型实现思路


一、航线类型操作类型目标

1.概述

前面的课程中将数据拆分的流程进行了讲述,接下来学习数据的分类,也就是数据的打标签,可以分为是单程与往返以及飞行类型与操作类型。首先讲解如何进行飞行类型和操作类型的分类。

2.目的

确定一条数据的业务场景(国内查询、国际查询、国内预定、国际预定)。在数据采集的时候,第一步是采集数据,第二步是发送数据到 Kafka,采集的数据包括日期、request 以及 request method、connect type 等,但这些数据里并没有记录该数据是哪种业务场景,无法确定是国内查询还是国际查询,国内预定还是国际预定,即数据本身没有体现但是要给数据打上标签,需要根据数据里的内容判断出到底是哪种业务场景。之所以要判断业务场景的类型,是因为后续的数据解析等过程中会应用到飞行类型的数据,不对业务场景进行判断后续的功能就无法继续进行。

3.需求

在业务上,企业数据可以在操作类型维度分为“查询操作”和“预定操作”,例如南京航天航空官网首页,默认从广州到北京,点击查询,该业务场景属于查询操作。

image.png

选择日期和票价后,网页会给立即预订的按钮,点击跳转到添加乘客信息的界面,该业务场景属于预定操作。在航线类型维度可以分为国际航线和国内航线,例如从广州出发,出发地选择后到达地可以选择为国内或国际,

image.png

到达地选为亚洲的巴厘岛,点击查询,该业务场景也是查询操作,而该查询属于国际查询。在这两个维度下有四种可能,两两组合后分别是国内查询、国际查询、国内预定、国际预定。在数据采集时获得的实际数据中并没有信息表示这四种场景,然而在后续的模块中需要使用到这些信息。所以一条数据属于四种场景中的哪一种需要分析计算出来。

根据数据库中配置的规则(四种场景),与前面所解析出的url进行匹配,该 url与哪个规则匹配成功,表示该数据就是哪种规则类型的数据。


二、航线类型操作类型实现思路

1、现已经通过 DataSplit.dataSplit()方法将数据进行了拆分,获得到的数据是一个个独立的数据。RequestUrl 字段中存储着查询的 url。

2、读取数据库的 url 正则表达式(四种)到程序

3、遍历四种规则,使用 RequestUrl 中的 url 匹配四种规则,该规则在数据库里面,重复之前的流程,从数据库把规则读出,然后再把数据读出并进行匹配。判断数据是哪种操作哪种航线,并封装到对应的 RequestType 中。

4、分类数据的规则表 itcast_classify_rule

id

flight_type

operation_type

expression

1

0

0

^.*query.ao.*$

2

1

0

^.*ita/intl/zh/shop.*$

3

0

0

^.*postFlight.ao.*$

4

1

1

^.*/ita/intl/zh/passengers

5

0

1

^.*createOrder.xsql.*$

6

1

1

^.*ita/rest/intl/b/order.*$

7

0

1

^.*getRuleFromSuccessPa

8

0

1

^.*cancelOrder.*5

规则表如上所示,expression 列为四种业务场景的正则表达式,需求当中的四种情为 flight_type 列以及operation_type 的内容。右键选择设计表,了解各自的含义,数据中 flight_type 和 operation_type 是非零即一的。flight_type 中的0代表的是国内,1代表的是国外,operation_type 中0代表的是查询,1代表的是预定,它们四个两两组合出的结果就是国内查询、国际查询、国内预定和国际预定,例如 flight_type operation_type 均是0,代表的含义是国内查询;flight_type 为1,operation_type 为0,代表的是国际查询;flight_type operation_type均是1,代表队是国际预定。

操作类型中0代表查询,1代表预定;航班类型中0代表国内,1代表国外。组合类型如下表所示:

0

0

国内查询

0

1

国际查询

1

0

国内预定

1

1

国际预定

数据一条条流过的时候,前面已经把 URL 确定了,四种场景的规则也已经确定了,需求是要确定一条数据的业务场景,即确定业务场景为国内查询、国际查询、国内预定、国际预定四种情况中的哪一个。数据当中的 url 确定了,而且数据库也已经明确规定了00是国内查询,10是国际查询,现在要该规则读到程序里面,然后用 url 去与四种情况相匹配,实现思路即匹配出 url,然后去正则四种情况,匹配上哪个就是哪个场景,以上就是数据分类的需求以及实现的大概思路。

相关文章
|
存储 Android开发
Rockchip系列之客制化GPIO接口Driver部分(2)
Rockchip系列之客制化GPIO接口Driver部分(2)
330 0
|
SQL 分布式计算 Java
Spark入门指南:从基础概念到实践应用全解析
在这个数据驱动的时代,信息的处理和分析变得越来越重要。而在众多的大数据处理框架中, Apache Spark 以其独特的优势脱颖而出。
510 0
|
10月前
|
缓存 监控 安全
高并发编程知识体系
本文将从线程的基础理论谈起,逐步探究线程的内存模型,线程的交互,线程工具和并发模型的发展。扫除关于并发编程的诸多模糊概念,从新构建并发编程的层次结构。
|
9月前
|
算法
一次推理,实现六大3D点云分割任务!华科发布大一统算法UniSeg3D,性能新SOTA
华中科技大学研究团队提出了一种名为UniSeg3D的创新算法,该算法通过一次推理即可完成六大3D点云分割任务(全景、语义、实例、交互式、指代和开放词汇分割),并基于Transformer架构实现任务间知识共享与互惠。实验表明,UniSeg3D在多个基准数据集上超越现有SOTA方法,为3D场景理解提供了全新统一框架。然而,模型较大可能限制实际部署。
697 15
|
数据可视化 Python
Python模型评估与选择:面试必备知识点
【4月更文挑战第17天】本文深入探讨了Python模型评估与选择在面试中的关键点,包括性能度量、过拟合与欠拟合识别、模型比较与选择、模型融合和偏差-方差权衡。强调了避免混淆评估指标、忽视模型验证和盲目追求高复杂度模型的常见错误,并提供相关代码示例,如交叉验证、网格搜索和超参数调优。通过理解这些概念和技巧,可在面试中展示出色的数据科学能力。
384 12
|
存储 监控 安全
JVM工作原理与实战(五):类的生命周期-加载阶段
JVM作为Java程序的运行环境,其负责解释和执行字节码,管理内存,确保安全,支持多线程和提供性能监控工具,以及确保程序的跨平台运行。本文主要介绍了类的生命周期、类的加载阶段等内容。
193 5
|
存储 供应链 安全
区块链技术在供应链管理中的透明性与可追溯性研究
区块链技术在供应链管理中的透明性与可追溯性研究
|
数据库 数据安全/隐私保护 Windows
Windows远程桌面出现CredSSP加密数据修正问题解决方案
【10月更文挑战第30天】本文介绍了两种解决Windows系统凭据分配问题的方法。方案一是通过组策略编辑器(gpedit.msc)启用“加密数据库修正”并将其保护级别设为“易受攻击”。方案二是通过注册表编辑器(regedit)在指定路径下创建或修改名为“AllowEncryptionOracle”的DWORD值,并将其数值设为2。
9903 3
|
消息中间件 缓存 监控
Kafka性能优化策略综述:提升吞吐量与可靠性
Kafka性能优化策略综述:提升吞吐量与可靠性
1931 0