数据预处理-航线类型操作类型实现详细思路|学习笔记

简介: 快速学习数据预处理-航线类型操作类型实现详细思路

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

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


数据预处理-航线类型操作类型实现详细思路


内容介绍:

一、概述

二、具体目的及详细思路


一、概述

前面已经将思路理清,了解了要实现飞行类型与操作类型的目标与基本思路。接下来进行详细思路的梳理。详细思路会涉及到数据库的读取,下面继续完整地进行读取数据库后的更新、处理等操作流程,这是第二次的完整操作,后续再遇到类似的从数据库里面读取时就不在进行完整的学习了。


二、具体目的及详细思路

1. 目的

确定一条数据的业务场景,根据数据库中配置的规则(四种)确定规则。

2.实现思路

解析出的 url 与四种规则进行匹配,这个 url 匹配与哪个规则匹配成功,表示这个数据属于哪个规则类型。

3.四种情况

国内查询(0-0)国内预定(0-1)国际查询(1-0)国际预定(1-1)

4.具体实现思路

(1)读取数据分类规则,是从数据库中 itcast_classify_rule 分类数据规则表中读取的。四种规则,每种单独读取到预处理程序。不能一次性全部混入读取,这样无法确定到底是哪种业务场景。在查询时要确定字段expression from itcast_classify_rule where(条件)等于什么,例如 flight_type operation_type 均是0,表示国内查询,确定现需要将国内查询读取出来,所以把 flight_type operation_type 均等于0的全部读取出来,而要计算国内预定时要将 flight_type=0、operation_type=1的全部读取出来。即四种情况分别查询出来,每一个规则单独读取到程序里。

(2)将数据分类规则加载到广播变量,因为要让其它的节点都可以访问到。

(3)在 redis 内添加是否需要更新数据分类规则的标识,每批次都从 redis 中读取这个标识,判断是否需要更新数据分类规则

(4)若不需要更新,那么直接执行分类操作;

若需要更新,那么在数据库中重新读取新的分类规则到程序中,所以读取数据库的操作可以单独写一个方法,方便直接调用。重新读取后将广播站清空,再把新的规则加载到广播里,然后把是否需要更新分类规则的标记改成 false,改完后数据就读取过来了。

(5)分类

1.定义方法,参数为经过拆分后的 URL 和分类的广播变量规则,即 URL 和四种变量规则都要放入方法中,这个方法会在后续课程中完成代码的书写。

2.先在分类的广播变量中获取四种业务场景的规则

3.遍历四种规则与数据进行匹配,数据与哪种匹配成功,表示这个数据就是这种类型,最终返回类型最终返回类型(国内查询国内预定国际查询国际预定)

因为前面的四种业务场景获取过来后放到广播变量中去了,拿到广播变量里面的数据后,先把这四种场景的数据规则单独的拆分出来,然后再分别遍历四种规则当中的数据与 url 进行匹配。如果数据与四个规则当中的任何一个匹配成功,表示该数据就属于该业务场景,最终返回类型,即国内查询、国际查询、国内预定和国际预定。

相关文章
|
22小时前
|
存储 机器学习/深度学习 数据可视化
数据集中存在大量的重复值,会对后续的数据分析和处理产生什么影响?
数据集中存在大量重复值可能会对后续的数据分析和处理产生多方面的负面影响
21 10
|
6月前
|
测试技术
数据分享|R语言回归,虚拟变量和交互项,假设检验:F检验、AIC和 BIC分析学生成绩数据附自测题(下)
数据分享|R语言回归,虚拟变量和交互项,假设检验:F检验、AIC和 BIC分析学生成绩数据附自测题
|
6月前
|
机器学习/深度学习 数据可视化
|
6月前
|
C++
【SPSS】两配对样本T检验分析详细操作教程(附案例实战)
【SPSS】两配对样本T检验分析详细操作教程(附案例实战)
657 0
【SPSS】两配对样本T检验分析详细操作教程(附案例实战)
|
6月前
|
算法 搜索推荐 数据挖掘
图计算中的图算法有哪些常见的类型?请举例说明每种类型的算法。
图计算中的图算法有哪些常见的类型?请举例说明每种类型的算法。
140 0
|
6月前
|
数据采集 安全 数据挖掘
【数据挖掘】属性及其类型和数据的统计描述四分位数等详解(图文解释 超详细)
【数据挖掘】属性及其类型和数据的统计描述四分位数等详解(图文解释 超详细)
452 0
|
存储 数据可视化 数据挖掘
知识点丨重测序数据进行kinship亲缘关系分析、构建IBS矩阵的方法与介绍
知识点丨重测序数据进行kinship亲缘关系分析、构建IBS矩阵的方法与介绍
知识点丨重测序数据进行kinship亲缘关系分析、构建IBS矩阵的方法与介绍
|
机器学习/深度学习 算法 计算机视觉
舌体胖瘦的自动分析-曲线拟合-或许是最简单判断舌形的方案(六)
舌体胖瘦的自动分析-曲线拟合-或许是最简单判断舌形的方案(六)
145 0
|
文字识别 算法 计算机视觉
【数图大作业】基于模板匹配的文字识别(一)(思路+实现要点+预处理分析)
【数图大作业】基于模板匹配的文字识别(一)(思路+实现要点+预处理分析)
|
算法 C++
详细实例说明+典型案例实现 对枚举法进行全面分析 | C++
简单的来说,算法就是用计算机程序代码来实现数学思想的一种方法。学习算法就是为了了解它们在计算机中如何演算,以及在当今的信息时代,它们是如何在各个层面上影响我们的日常生活的,从而提高我们的逻辑思维能力和处理实际问题的能力。善用算法、巧用算法,是培养程序设计逻辑的重中之重,许多实际的问题都可用多个可行的算法来解决, 但是要从中找出最优的解决算法却是一项挑战。
214 0
详细实例说明+典型案例实现 对枚举法进行全面分析 | C++