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

简介: 快速学习数据预处理-数据解析-总结及预定数据分析

开发者学堂课程【大数据实战项目:反爬虫系统(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)

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

相关文章
|
7月前
|
数据采集 数据可视化 数据挖掘
用 Excel+Power Query 做电商数据分析:从 “每天加班整理数据” 到 “一键生成报表” 的配置教程
在电商运营中,数据是增长的关键驱动力。然而,传统的手工数据处理方式效率低下,耗费大量时间且易出错。本文介绍如何利用 Excel 中的 Power Query 工具,自动化完成电商数据的采集、清洗与分析,大幅提升数据处理效率。通过某美妆电商的实战案例,详细拆解从多平台数据整合到可视化报表生成的全流程,帮助电商从业者摆脱繁琐操作,聚焦业务增长,实现数据驱动的高效运营。
|
7月前
|
数据采集 数据可视化 搜索推荐
Python数据分析全流程指南:从数据采集到可视化呈现的实战解析
在数字化转型中,数据分析成为企业决策核心,而Python凭借其强大生态和简洁语法成为首选工具。本文通过实战案例详解数据分析全流程,涵盖数据采集、清洗、探索、建模、可视化及自动化部署,帮助读者掌握从数据到业务价值的完整技能链。
862 0
|
6月前
|
SQL 数据挖掘 BI
数据分析的尽头,是跳出数据看数据!
当前许多企业在数据分析上投入大量资源,却常陷入“数据越看越细,业务越看越虚”的困境。报表繁杂、指标众多,但决策难、行动少,分析流于形式。真正有价值的数据分析,不在于图表多漂亮,而在于能否带来洞察、推动决策、指导行动。本文探讨如何跳出数据、回归业务场景,实现数据驱动的有效落地。
|
12月前
|
SQL 人工智能 数据可视化
数据团队必读:智能数据分析文档(DataV Note)五种高效工作模式
数据项目复杂,涉及代码、数据、运行环境等多部分。随着AI发展,数据科学团队面临挑战。协作式数据文档(如阿里云DataV Note)成为提升效率的关键工具。它支持跨角色协同、异构数据处理、多语言分析及高效沟通,帮助创建知识库,实现可重现的数据科学过程,并通过一键分享报告促进数据驱动决策。未来,大模型AI将进一步增强其功能,如智能绘图、总结探索、NLP2SQL/Python和AutoReport,为数据分析带来更多可能。
704 142
|
SQL 数据可视化 大数据
从数据小白到大数据达人:一步步成为数据分析专家
从数据小白到大数据达人:一步步成为数据分析专家
659 92
|
11月前
|
数据采集 JSON 数据可视化
JSON数据解析实战:从嵌套结构到结构化表格
在信息爆炸的时代,从杂乱数据中提取精准知识图谱是数据侦探的挑战。本文以Google Scholar为例,解析嵌套JSON数据,提取文献信息并转换为结构化表格,通过Graphviz制作技术关系图谱,揭示文献间的隐秘联系。代码涵盖代理IP、请求头设置、JSON解析及可视化,提供完整实战案例。
679 4
JSON数据解析实战:从嵌套结构到结构化表格
|
存储 搜索推荐 大数据
数据大爆炸:解析大数据的起源及其对未来的启示
数据大爆炸:解析大数据的起源及其对未来的启示
785 15
数据大爆炸:解析大数据的起源及其对未来的启示
|
11月前
|
JSON 监控 网络协议
Bilibili直播信息流:连接方法与数据解析
本文详细介绍了自行实现B站直播WebSocket连接的完整流程。解析了基于WebSocket的应用层协议结构,涵盖认证包构建、心跳机制维护及数据包解析步骤,为开发者定制直播数据监控提供了完整技术方案。
1051 9
|
11月前
|
机器学习/深度学习 JSON 算法
淘宝拍立淘按图搜索API接口系列的应用与数据解析
淘宝拍立淘按图搜索API接口是阿里巴巴旗下淘宝平台提供的一项基于图像识别技术的创新服务。以下是对该接口系列的应用与数据解析的详细分析
|
12月前
|
Java API 数据处理
深潜数据海洋:Java文件读写全面解析与实战指南
通过本文的详细解析与实战示例,您可以系统地掌握Java中各种文件读写操作,从基本的读写到高效的NIO操作,再到文件复制、移动和删除。希望这些内容能够帮助您在实际项目中处理文件数据,提高开发效率和代码质量。
338 4

热门文章

最新文章

推荐镜像

更多
  • DNS