数据预处理-数据解析-总结及预定数据分析|学习笔记

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介: 快速学习数据预处理-数据解析-总结及预定数据分析

开发者学堂课程【大数据实战项目:反爬虫系统(Lua+Spark+Redis+Hadoop 框架搭建)第三阶段数据预处理-数据解析-总结及预定数据分析】学习笔记,与课程紧密联系,让用户快速学习知识。

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


数据预处理-数据解析-总结及预定数据分析


内容介绍:

一、课前小结

二、预定类数据解析介绍


一、课前小结

上节课学习了查询型的解析。所以进行总结。

第一个,读取数据库的规则。代码如下:

var queryRule = AnalyzeRuleDB.queryRule(behaviorType = 0)

然后就是加载到广播变量。下面是解析规则的代码:

@volatile var broadcastQueryRules=sc.brocast(queryRule)

加载到广播变量以后就是去判断它是否需要更新,判断是否需要更新的代码很长,所以这里不做展示。

接下来就是进行解析,下面是解析的代码,也就是解析的规则:

val queryRequestData =

AnalyzeRequest.analyzeQueryRequest( requestType,

requestMethod,contentType,requestUrl,requestBody,travelType, broadcastQueryRules.value)

至于数据解析的代码,因为有很多。这样就实现查询型的数据解析工作。


二、预定类数据解析介绍

其实预定的解析思路跟查询型的解析思路一模一样,只不过读取预定的数据到程序里面来的时候,behaviortype 的参数为1,1代表预定

var bookRule=AnalyzeRuleDB.queryRule(behaviorType = 1)

如果这个参数是1,看下面这行代码:

val sql: String = "select * from analyzerule where

behavior_type =" + behaviorType

那么变量就是1,所以在数据库当中要把 behavior_type 是1的查出来,看下图发现,这里有三个数据:

image.png

把它们查出来,这些就是预定类的数据。然后要对这三条数据的每一个字段,查出来再进行封装,封装完后返回到如下代码所示位置。

//读取数据库内的数据解析规则到预处理程序(将表内的所有查询规则数据全部读取到程序内)

//数据解析规则--查询类

var queryRule=AnalyzeRulgDB.queryRule(0)

@volatile var broadcastQueryRules=sc.broadcast(queryRule)

//数据解析规则--预定类

var bookRule=AnalyzeRuleDB.queryRule(1)

@volatile var

broadcastBookRules=sc.broadcast(bookRule)

然后添加到广播变量:

@volatile var broadcastBookRules=sc.broadcast(bookRule)

添加到广播变量后依然需要更新,这里面是也是用 NeedUpDataAnalyzeRule ,代码跟查询类一模一样,不过预定类用的是 book ,behaviortype是1,在这里面预定的数据也要进行重新读取,然后重新清空广播变量,重新载入过滤数据。

代码://环判断是否需要更新

val

needupDataAnalyzeRule=redis.get("NeedupDataAnalyzeRule")

//如果获取的数据是非空的,并且这个值是 true, 那么就进行数据的更新操作

if( !needupDataAnalyzeRule.isEmpty&&

needupDataAnalyzeRule.toBoolean){

//重新读取 mysql 的数据

queryRule=AnalyzeRuleDe.queryRule( behaviorType =0)

bookRule=AnalyzeRuleDB.queryRule( behaviorType = 1)

//清空广播变量中的数据

broadcastQueryRules.unpersist()

broadcastBookRules.unpersist()

//重新载入新的过滤数据

broadcastQueryRules=sc.broadcast(queryRule)

broadcastBookRules=sc.broadcast( bookRule)

//更新完毕后,将 Redis 中的 true  改成 false

redis.set("NeedupDataAnalyzeRule","false")

}

最后一步就是解析。实际上预定的解析和查询的解析是一模一样的,而且思路也是一样的,预定数据的实现的目标是解析出预定数据当中的出发地,目的地和起飞时间。但是在这里,由于我们拿不到数据,所以这个就暂时做不了,但是虽然这个解析没有数据,最差的就是解析都是空,但是还是要解析一下,因为后面的计算也许会用到,不管是预定类的数据还是查询类的,都有可能。

所以把这个也解析一下,解析思路包括处理流程都是一样的,解析规则的代码直接写在下面:

val bookRequestData =  AnalyzeBookRequest.analyzeBookRequest(requestType,requestMethod, contentType, requestUrl, requestBody,

travelType,broadcastBookRules.value)

那这个就是去解析预定类数据的过程,之前查询类解析的时候有一个 analyzeRequest,而预定类解析里面有一个

analyzebookRequest ,它们的参数都是一样的。这两个的位置都在提供的 business process 里面。

预定类的里面实际上思路和查询类的思路是一模一样的。它的数据解析代码也是已经写好了的,大约在100行左右。下面就是解析预定数据的部分代码:

image.png

这里面需要的参数,在下面的代码里就能找到:

val bookRequestData =  AnalyzeBookRequest.analyzeBookRequest(requestType,requestMethod, contentType, requestUrl, requestBody,

travelType,broadcastBookRules.value)

所以把参数都传递进来,进来以后进行解析,解析完成也能解析出:出发地和目的地,因为没有数据,所以看不到效果,但这个过程必须要有。这个就是预定类的解析过程的过程。因为首先没有数据,看不到效果,第二,读取规则,加载到广播变量,判断是否需要更新,前面已经进行了学习,所以这里快速通过。以上就是预定类的数据解析。

相关文章
|
18天前
|
数据采集 数据可视化 数据挖掘
多维数据分析:使用Pandas进行复杂的数据操作和聚合
【4月更文挑战第12天】Pandas是Python的强大数据分析库,提供DataFrame数据结构进行多维数据处理。本文介绍了使用Pandas进行多维数据分析的流程:1) 导入数据(如CSV、Excel);2) 数据预处理,包括缺失值处理和类型转换;3) 数据探索,利用describe()、hist()、plot()等进行统计和可视化;4) 数据操作,如筛选、排序和分组;5) 数据聚合,通过groupby()和agg()进行计算。文中还给出了电商数据分析的案例,展示Pandas在实际应用中的价值。
|
23天前
|
人工智能 监控 数据可视化
【Python】Python商业公司贸易业务数据分析可视化(数据+源码)【独一无二】
【Python】Python商业公司贸易业务数据分析可视化(数据+源码)【独一无二】
|
2月前
|
安全 Java 数据库连接
jdbc解析excel文件,批量插入数据至库中
jdbc解析excel文件,批量插入数据至库中
21 0
|
2月前
|
XML 前端开发 数据格式
请描述如何使用`BeautifulSoup`或其他类似的库来解析 HTML 或 XML 数据。
【2月更文挑战第22天】【2月更文挑战第67篇】请描述如何使用`BeautifulSoup`或其他类似的库来解析 HTML 或 XML 数据。
|
2月前
|
JSON 数据格式
第三方系统或者工具通过 HTTP 请求发送给 ABAP 系统的数据,应该如何解析试读版
第三方系统或者工具通过 HTTP 请求发送给 ABAP 系统的数据,应该如何解析试读版
28 0
|
2月前
|
自然语言处理 小程序 数据挖掘
数据分析实战-Python实现博客评论数据的情感分析
数据分析实战-Python实现博客评论数据的情感分析
118 0
|
11天前
|
数据可视化 数据挖掘 Linux
如何在Linux部署DataEase数据分析服务并实现无公网IP远程分析内网数据信息
如何在Linux部署DataEase数据分析服务并实现无公网IP远程分析内网数据信息
|
15天前
|
数据挖掘 定位技术
基于出租车GPS轨迹数据的研究:出租车行程的数据分析
基于出租车GPS轨迹数据的研究:出租车行程的数据分析
23 0
|
16天前
|
机器学习/深度学习 数据采集 数据挖掘
Python 的科学计算和数据分析: 解释什么是数据规整(Data Wrangling)?
【4月更文挑战第15天】数据规整是将原始数据转化为适合分析和建模的格式的关键步骤,涉及缺失值处理(删除、填充、插值)、异常值检测与处理、数据类型转换、重采样、数据合并、特征选择和特征变换等任务。这些预处理步骤确保数据质量和准确性,为后续的数据分析和机器学习模型构建奠定基础。
19 4
|
18天前
|
存储 JSON JavaScript
「Python系列」Python JSON数据解析
在Python中解析JSON数据通常使用`json`模块。`json`模块提供了将JSON格式的数据转换为Python对象(如列表、字典等)以及将Python对象转换为JSON格式的数据的方法。
33 0

推荐镜像

更多