开发者学堂课程【大数据实战项目:反爬虫系统(Lua+Spark+Redis+Hadoop 框架搭建)第一阶段:项目总体数据处理流程详解】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/669/detail/11582
项目总体数据处理流程详解
内容介绍
一、课堂目标
二、数据流程的文字描述
三、数据流程的 ppt 展示
四、知识点总结
一、课堂目标
目标:
掌握反爬虫项目处理的具体流程
二、数据流程的文字描述
1. 数据采集
通过 lua 采集收集数据
将收集的数据打入 kafka
2. 数据的预处理
在 kafka 中读取数据到程序中
在数据库读取规则到程序
结合数据于规则将预处理完毕的数据发回 kafka
3. 数据计算
实时计算(爬虫的识别)
在数据库中读取数据到程序
将识别的爬虫写入
离线计算
领导想看的报表等
经与处理的数据写入 HDFS
计算离线数据并写入 Myspl
4. 前端展现
对系统在运行期间的数据采集状态、数量进行监控、对离线指标的结果进行前端展现
不用去写代码,因为这与爬虫识别没有关系,仅作为结果展现,把数据写入 Myspl即可,前端展示由前端工作室实现。
三、数据流程的 ppt 展示
(1)数据流程项目的本质
用户端:
如去哪网、携程等为用户提供订票服务的界面或手机上的 qpp
企业端如界面所示:
项目本质上是在用户端采集数据,经过中间部分的识别、计算预处理等环节再到企业端展现的过程
以去哪网为例
用户端为官网界面
企业端为供公司内部监控使用的 web 界面,
如下所示:
本质上是将官网采集的数据到web界面展示的过程
(2) 数据流程的 ppt 展示
第一阶段:首先在用户端官网上需要布置查询与预定的服务器
如下所示:
图中有三个框
举例为有三个服务器,这三台服务器分别部署的是 Nginx 服务器部署完成后,部署Lua 脚本1。
第二阶段:脚本部署完成后,接下来在企业内部部署一个采用 kafka 集群技术的消息队列。
前端采集完数据后打入 Kafka 当中,该过程为数据采集。
第三阶段:数据预处理时运用到 SparkStreaming 技术
首先将 kafka 采集到的数据运行到 SparkStreaming 程序当中。
接下来,在企业端存在 Myspl 数据库
Myspl 数据库部署在数据预处理阶段数据过滤规则,历史爬虫以及供爬虫识别使用的的其他的规则
数据预处理阶段把数据接收过来,再从数据库当中把规则读取过来,第四阶段:进行分析与处理,再将结果返回到 Kafka 当中,这是数据预处理阶段的过程
第五阶段:运用 SparkStreaming 技术的实时计算(爬虫识别),将 Kafka 的数据读取过来
此时数据为经过预处理的数据
同时将企业端有关实时计算爬虫识别的规则录入
结合数据与规则将爬虫识别出来
第六阶段:将识别出来的爬虫录入企业端的 Redis
第七阶段: 读取已知的爬虫返回到前端,如果爬虫再次查询即可剔除掉
第八阶段:离线报表的制作,将第五阶段的数据不经过任何处理写入大数据 HDFS中,操作本质是将第四阶段预处理的数据由第五阶段传送写入 HDFS,运用到离线分析。
离线分析运用 SparkSQL 技术
第九阶段:分析完成后,将结果写入 Myspl 数据库,此时界面可显示指标,具体如下:
(3) 数据处理流程知识补充与图集分析
数据采集采用黑色字体
1. 通过 Lua 采集收集数据,
2. 将收集的数据打入 Kafka
数据预处理采用蓝色字体
3-1在 Kafka 中读取数据在程序中
3-2在数据库读取规则到程序
4将预处理完毕的数据写回 Kafka
实时计算(爬虫识别)采用橘色字体
离线计算则采用紫色
两者都属于数据计算
5-1在 kafka 中读取预处理后的数据到程序中
5-2在数据库中读取数据到程序
5. 将识别到的爬虫写入
8将预处理后的数据写入 HDFS
9. 计算离线离线指标数据并写入 Myspl
另外,第七步剔除的动作与第二阶段相同通过脚本实现
最后,前端展现:通过界面数据、指标的展现作为项目的过程,只需将数据写入web 便可自动展现
四、知识点总结
课堂目标:掌握反爬虫项目处理的具体流程
反爬虫数据流程总结
数据采集
1.通过 Lua 采集收集数据,
2.将收集的数据打入 Kafka
数据预处理
3-1在 Kafka 中读取数据在程序中
3-2在数据库读取规则到程序
4将预处理完毕的数据写回Kafka
实时计算(爬虫识别)
5-1在 kafka 中读取预处理后的数据到程序中
5-2在数据库中读取数据到程序
6. 将识别到的爬虫写入
离线计算
8.将预处理后的数据写入 HDFS
9.计算离线离线指标数据并写入 Myspl
离线计算与实时计算均属于数据计算
前端展现