开发者学堂课程【大数据实战项目 - 反爬虫系统(Lua+Spark+Redis+Hadoop框架搭建)第七阶段:第七阶段总结】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/675/detail/11742
第七阶段总结
内容介绍:
一、设置任务监控
二、测试数据改装程序
三、统计报表
一、设置任务监控
(1)爬虫识别是什么?
爬虫识别,数据识别过程进行监控
(2)、需求
对当前streaming任务设置任务监控
(3)、代码
注意生产过程怎么获得数据
通过下面的代码:
// val sparkDriverHost =
Sc.getConf.get(‘spark.org.apache.hadoop.yam.server.webproxy.amfilter.AmlpFilter.paramPROXY-URI-BAES”)
//监控信息页面路径+/proxy/+应用id+/metrics/json
//val url=s”${sparkDriverHost}/metrics/json”
如图:
对爬虫识别进行监控,方法引入,具体代码就是黄色代码,生产集群如何获取数据,就是这样获取的
爬虫识别过程思路与之一致
二、测试数据改装程序
(1)、报表模块加载
目标:实现离线指标的计算过程
(2)、加载数据,注册成表
(3)、需求
加载 kafka 数据清洗后的数据(过滤掉 html 等),加载爬虫数据,将数据注册成表
(4)代码
实际上就是收集的数据,将数据加入一个变量,读到一个变量加一个变量,类似于行号,如果行号50去一个0,我们就换一个代码,根据不同变量换代码,改变数据的形式。
行号对应的数据就会根据编程好的程序自行换行和整理。
因为数据不一样,所以我们要换成一样的,这样才能进行离线分析,这样我们用这个代码就可以实现。
三、离线报表的统计
(1)、离散指标统计
1、数据源:
Kafka 通过数据处理后写道 hafs 的结构化数据
通过 relecompute 计算后的爬虫数据,数据写了 redis
2、数据加载
每天的23:59分的定时任务开始
加载 Kafka 写道 hdfs 的数据,数据是以 yyyyMMddHH 这样的文件保存的,需要读取 yyyyMMddHH 里面的所有小时的数据加载redis的黑名单数据
3、任务流程
创建 sparkcontext
获取当前时间的年月日,拼凑成:
hdfs:
//192.168.56.151.9000/csair/data/rule-black-ist/yyyyMMdd
通过 redis 加载黑名单数据
进行报表质变的计算,计算的结果写道数据库
4、代码:
找到离线分析程序,在 Request 中有一些字段,再往后读取数据,再往后,如果是集群上面,就在集群上读取,如果在本地就在本地直接读取就好。
将字段进行对应关系匹配,数据有了,Spider-Ip 有了,我们可以得到两张表格,通过表得到纯爬虫数据,再通过自定义函数,判断我们的数据到达哪个阶段。
业务上面分为查询、预定、结算。类似于这样的数据,通过BIL匹配到哪个数据就到哪个阶段,再根据计算好的数据,计算国内、国际转换率等等一系列转换率。
结果计算好了,就将其填入对应的地方就好。指标计算完之后,就可以进行离散分析了。
(2)制作离线报表
注意,国内查询,写入的时候要告知。
如果是国际的数据就需要改变编码,也就是0变1,实际上就是根据实际情况改变0和1即可。