项目七个阶段总体介绍|学习笔记

简介: 快速学习项目七个阶段总体介绍

开发者学堂课程【大数据实战项目:反爬虫系统(Lua+Spark+Redis+Hadoop 框架搭建)第一阶段项目七个阶段总体介绍】学习笔记,与课程紧密联系,让用户快速学习知识。  

课程地址:https://developer.aliyun.com/learning/course/669/detail/11579


项目七个阶段总体介绍

 

回顾:

用来做海量数据存储的组件 hdfs ,海量数据做计算的组件 mapreduce,spark 等,做实时计算的 flink,storm,spark   streaming, 做数据仓库的 hive ,快速查询的 hbase ,做数据接入的 flume ,消息组件 kafka 均为大数据生态系统中的核心的组件。

为更深入的了解以上的组件,通过项目的方式应用此类技术,增加对技术理解之外项目上的收获,本节课通过反爬虫项目为主项目进行巩固与掌握。

首先,明确爬虫的概念

即:互联网上的爬虫,按照一定的规则或者规律,自动、不间断、持续在互联网上爬取想要的数据,把数据发回到己方的数据库中,实际上是一个循环迭代的程序或者是一个脚本。

互联网上存在许多爬虫进行爬取,企业若是遭到爬虫多次爬取公司重要资源,则公司本部系统会受到严重影响,企业为防止这种情况的发生,实行反爬虫项目,即识别爬虫,并剔除。

以下内容进行阶段划分:(目标)了解反爬虫项目的阶段划分,以及每个阶段要学习的内容。

内容介绍:

第一阶段:

反爬虫项目的总体介绍,主要包括(背景、需求、流程、架构、 openresty 介绍、 lua 语法学习)

第二阶段:

Lua 采集数据写入 kafka 搭建项目、 streaming 读取 kafka 数据、链路统计功能实现

第三阶段:

实现数据预处理的数据清洗、脱敏、拆分、分类(飞行类型/操作类型,单程/往返)、解析等功能。

第四阶段:

实现数据预处理的数据历史爬虫、结构化、数据推送、数据预处理监控、前端读取后端数据等功能。

(此图为前端登录界面后进入后的窗口)

图片1.png

第五阶段:

读取预处理后的数据、进行封装、分别统计八个指标的数据。

单位时间内的 IP 端访问量(前两位)

某个 IP, 单位时间内总访问量

某个 IP, 单位时间内的关键页面访问总量

某个 IP, 单位时间内的 UA 种类数统计

某个 IP, 单位时间内的关键页面最短访问间隔

某个 IP, 单位时间内小于最短访问间隔(自设)的关键页面查询次数

某个 IP, 单位时间内查询不同行程的次数

某个 IP, 单位时间内关键页面的访问次数的 cookie 数

第六阶段:

根据已经算出的八项指标结果,进行爬虫识别。剔除非爬虫数据、写入 Redis ,写入 HDFS,Redis 数据恢复等。

第七阶段:

爬虫分析性能的计算与监控、离线指标分析。

相关文章
|
人工智能 自然语言处理 监控
AI模型评估的指标
模型评估的指标
929 0
|
SQL 存储 运维
基于MySQL Catalog作为CDC源表示例操作
基于MySQL Catalog作为CDC源表示例操作
基于MySQL Catalog作为CDC源表示例操作
|
JSON 负载均衡 JavaScript
带你读《Elastic Stack 实战手册》之65:——3.5.19.1.Elasticsearch语言开发(Python)(上)
带你读《Elastic Stack 实战手册》之65:——3.5.19.1.Elasticsearch语言开发(Python)(上)
486 1
|
关系型数据库 MySQL Java
Flink作业报错:Caused by: The connector is trying to read binlog starting at GTIDs ..., but this is no longer available on the server
Flink作业报错:Caused by: The connector is trying to read binlog starting at GTIDs ..., but this is no longer available on the server
Flink作业报错:Caused by: The connector is trying to read binlog starting at GTIDs ..., but this is no longer available on the server
|
消息中间件 缓存 资源调度
在 Flink 算子中使用多线程如何保证不丢数据?
本人通过分析痛点、同步批量请求优化为异步请求、多线程 Client 模式、Flink 算子内多线程实现以及总结四部分帮助大家理解 Flink 中使用多线程的优化及在 Flink 算子中使用多线程如何保证不丢数据。
在 Flink 算子中使用多线程如何保证不丢数据?
|
8月前
|
存储 搜索推荐 算法
大数据在电子健康记录中的潜力与挑战:一次技术和伦理的深度碰撞
大数据在电子健康记录中的潜力与挑战:一次技术和伦理的深度碰撞
240 12
|
索引 流计算 消息中间件
Flink 实时写入数据到 ElasticSearch 性能调优
线上业务反应使用 Flink 消费上游 kafka topic 里的轨迹数据出现 backpressure,数据积压严重。单次 bulk 的写入量为:3000/50mb/30s,并行度为 48。针对该问题,为了避免影响线上业务申请了一个与线上集群配置相同的 ES 集群。
|
监控 Python
`pytest-qt` 是一个用于在 Qt 应用程序中进行 GUI 测试的 pytest 插件。
`pytest-qt` 是一个用于在 Qt 应用程序中进行 GUI 测试的 pytest 插件。
|
Java 数据库连接 数据库
深入探讨Java连接池技术如何通过复用数据库连接、减少连接建立和断开的开销,从而显著提升系统性能
在Java应用开发中,数据库操作常成为性能瓶颈。本文通过问题解答形式,深入探讨Java连接池技术如何通过复用数据库连接、减少连接建立和断开的开销,从而显著提升系统性能。文章介绍了连接池的优势、选择和使用方法,以及优化配置的技巧。
243 1
|
并行计算 API 流计算
Flink之处理函数 (ProcessFunction)1
Flink之处理函数 (ProcessFunction)
705 0