数据预处理总结—用例及流程|学习笔记

简介: 快速学习数据预处理总结—用例及流程

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

课程地址:https://developer.aliyun.com/learning/course/672/detail/11682


数据预处理总结—用例及流程


内容介绍:

一、数据预处理流程

二、模块分类处理流

三、模块分析


一、数据预处理流程

数据的对接就是实际上对接是去学习从代码的后端到前端数据是怎么流过来的整个过程,这个结束以后开始来给我们的数据预处理阶段做个总结。

image.png

上述图片中的流程全部结束,

下图是整个数据预处理的阶段的用例,

image.png

整个数预处理阶段图数据处理用例:

链路统计、数据清洗、数据脱敏、数据拆分、数据分类、数据解析、历史爬虫判断、数据结构化、数据推送、系统监控十件事情。

下面来具体回顾一下:

1.链路统计,是统计了两个结果一个是用户的访问的量,还有一个是当前活跃用户联系数。写到 Redis 里面,然后在爬虫的界面当中就能够看到这个数据了。

2.数据的清洗,从数据库当中读了一些规则,把规则读过来以后数据里面有一些 HDMIICSGPPGP 这些无效数据过滤掉,清洗工作就是自动过滤。

3.数据脱敏,数据当中有一些手机号,身份证号码这些敏感信息。要做事就是把他进行加密然后把他替换掉,就是脱敏的工作

4.数据的拆分,拆分的目的是因后面要用到这些模块都要用到数据而数据到目前。脱敏以后的阶段,但他是用#CS#拼接起来的一条数据,拆分的工作就是把数据进行拆分,拆分成一个一个的数据,后面数据用的时候,可以随时用随时拿。数据拆分用#cs#拆分。

5.数据的分类,分类分为两个,分类也就是打标签,第一个就是你的这个数据他的业务场景分为四种:国内查询、国际查询、国内预定、国际预定,需要判断是这四个其中的那一个,先从数据库当中,把这四种业务场景的规则读出来。然后再用url匹配这四种规则,匹配上那个就是那个,第2个就是你是单程还是往返,根据我日期类型出现的次数一次就是单程两次就是往返。

6.数据解析:解析分为查询类的和预订类的,解析代码很多业务也很复杂,复杂先把逻辑给理清楚,代码写了一部分,大部分都是给提供好的,比如这里面有解析出出发地和目的地,起飞时间;成人,婴儿这个小朋友把他们长期人数是多少,解析这些数据那这些数据的需要根据一些不同的规则来解析,怎么去从多个规则里面确定出一个,这时候就需要一个判断的逻辑,逻辑判断出来以后才能够自动的解析出数据。解析分为查询和预订,但是预定没有预定数据,所以看不到效果,但是数据还是能解析出来的。

7.历史爬虫判断,功能是判断传送过来的数据这一批当中这里面出现的IP是否在历史的爬虫当中出现过。如果出现过就返回TRUE,没有出现过就返回 FALSE。

8.数据结构化,前面经过数据的拆分然后以及打出来的各种标签这里面,拆分成三个(数据分类,数据解析,爬虫判断),数据分类里面有两个,解析里面有两个,加上爬虫判断就是五个。这五个解析出来的结果和拆分出来的数据,他们现在是零散我要把它结构化成 processed Date,调用 to  Kafka Steam ,然后转化成一个用#CS#拼接的字符串,走上然后准备推送到 Kafka 里面。

9.数据的推送需要根据查询的数据推送到查询的 topic 里面。预定的数据推送到预定的 topic 里面,

系统监控:监控整个从链路统计一直到最后的推送,这个过程当中他花费了多少速度是什么样子效率是什么样子,用了多少时间。以及前端中所需要展示的这个数据当中你用的了哪些数据,你用哪个我就给你准备那个然后把它推送到Redis 里面,Redis 自动的就在前端做了个展示。

以上就是用例做的十个模块。当看到模块时要清楚模块的的功能和大致流程。


二、模块分类处理流

下面来看这十个模块的流程图

image.png

首先第1个开始任务,开始任务需要前端2第二个阶段结合我们的流程。

image.png

第一个阶段采集数据,第2个阶段发送到 Kafka ,3-1读数据,3-2读规则,再把数据推送过来,蓝色的部分就是预处理阶段。预处理阶段开始任务,在 Kafka 中读取数据就是我流程过程中的3-1,读取数据到预处理程序当中。

然后就是实现第1个模块就数据采集,数据的监控叫链路统计功能。这个监控的是服务器的活跃状态兼当前活跃用户联系数,近三天的访问情况。

预处理对数据的操作(数据清洗、数据脱敏、数据拆分、数据分类、数据解析、历史爬虫判断、数据结构化)。

数据的推送模块就是我根据查询的推送的查询里面,预定的推送到预定的里面,这个属于专门做推送,没有对数据进行任何加工操作,就是一个过滤作用。

监控模块就是做整个数据预处理的一个效率和性能的监控,再往后预处理又可以分为预处理前预处理中和预处理后,预处理前做了数据的读取以及链路统计,预处理后是推送和监控。预处理中的操作(数据清洗、数据脱敏、数据拆分、数据分类、数据解析、历史爬虫判断、数据结构化)。


三、模块分析

image.png

image.png

模块分析,总的流程中分为采集,预处理,实施计算和展现,那这里面采集前面有,数据的预处理现在已经做完了。后面要做的就是爬虫的实时计算,计算爬虫存到 HDFS 里面,存在 HDFS 或者 Mysql,后面来做展现,实际上现在看到的三个是蓝色的预处理和爬虫识别,写到 Redies 里面这个过程。数据采集前面做了,前段展现不属于我们的范围,以上就是大致的流程。

本模块主要基于 SparkStreaming 进行实时流的计算和分析,其中规则配置信息以及统计析结果主要与 Redis 进行交互,因为 Redis 主要是基于内存操作的存储系统,同时可以将存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。从而避免了直接访问 lysql 数据库时不断建立和销毁数据连接而产生的系统损耗。

以上就是数据预处理阶段的总结内容。

相关文章
|
机器学习/深度学习 数据采集 传感器
机器学习开发流程和用到的数据介绍
机器学习开发流程和用到的数据介绍
|
缓存 NoSQL Java
面试官:如何保证本地缓存的一致性?
面试官:如何保证本地缓存的一致性?
2805 1
|
数据采集 存储 监控
大数据的数据来源 - 数据采集的方式(数据接入的方式)
大数据处理关键技术一般包括:大数据采集、大数据预处理、大数据存储及管理、大数据分析及挖掘、大数据展现和应用(大数据检索、大数据可视化、大数据应用、大数据安全等)。下面主要介绍下大数据采集
7094 0
|
机器学习/深度学习 存储 并行计算
一篇就够:高性能推理引擎理论与实践 (TensorRT)
本文分享了关于 NVIDIA 推出的高性能的深度学习推理引擎 TensorRT 的背后理论知识和实践操作指南。
15136 9
一篇就够:高性能推理引擎理论与实践 (TensorRT)
|
jenkins Java Shell
jenkins实现持续集成、持续部署
想要利用jenkins实现持续集成、持续部署,首先我们先思考需要jenkins帮我们做些什么事情才能达到这个目的。首先开发人员提交了代码jenkins应该知道这个变动;其次jenkins知道代码变更后,想要拉取代码,此时要求jenkins服务器上也要有代码拉取的终端,比如git、gitee等;再其次拉取完代码后jenkins就需要打包这些代码成为jar包或者war包,这就需要maven、gradle等打包工具;再然后jenkins需要将这些jar包部署到目标服务器,那就需要相应的插件和脚本来部署这些jar或者war包。
944 1
jenkins实现持续集成、持续部署
|
11月前
|
机器学习/深度学习 人工智能 数据处理
OpenBioMed:开源生物医学AI革命!20+工具链破解药物研发「死亡谷」
OpenBioMed 是清华大学智能产业研究院(AIR)和水木分子共同推出的开源平台,专注于 AI 驱动的生物医学研究,提供多模态数据处理、丰富的预训练模型和多样化的计算工具,助力药物研发、精准医疗和多模态理解。
543 1
OpenBioMed:开源生物医学AI革命!20+工具链破解药物研发「死亡谷」
|
存储 数据可视化 搜索推荐
「从0到1搭建知识库:设计团队的效率革命」
在快节奏的设计行业中,团队协作的效率和质量至关重要。本文探讨了如何通过搭建高效的设计团队知识库解决信息分散、规范不统一等问题,提升团队协同效率。内容涵盖知识库的核心价值、常见痛点、搭建方法、运营策略及未来趋势,帮助团队实现从混乱到高效的转变。知识库不仅能统一设计规范、沉淀最佳实践,还能提高新人上手速度。文章还介绍了内容框架设计、流程化管理、工具赋能等黄金方法论,并展望了智能化与场景化的未来趋势。
849 10
|
敏捷开发 开发框架 JavaScript
很牛!Github 上 10 个值得学习的 Springboot 开源项目
很牛!Github 上 10 个值得学习的 Springboot 开源项目
12929 0