开发者学堂课程【大数据实战项目 - 反爬虫系统(Lua+Spark+Redis+Hadoop框架搭建)第七阶段:离线计算-本地数据注册成表】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/675/detail/11738
离线计算-本地数据注册成表
内容介绍:
一、报表模块加载
二、需求
三、代码
一、报表模块加载
目标:
实现离线指标的计算过程
二、需求
加载 kafka 数据清洗后的数据(过滤掉 html 等),加载爬虫数据,将数据注册成表
三、代码
在材料文件当中素材文件里项目代码文件有一个离线计算文件中有所有需要的离线计算代码。
打开离线数据处理的样本
计算可视化数据
数据来源时 streaming 存储到 spaksql
两个样例类,Requests 样例繁多,黑名单 BlackList 样例较少。
两个例样一个叫 request,另外一个叫 blacklist。
这个 request 里面有 matter、request、remove 时间等等,然后,request 里面资料非常之多,而我们的黑名单数据,黑名单数据实际上不多,就这么几个字代。
main 方法里面设置了日志级别,然后 SparkContext,这是 circle context 都实例,我们要用soap 把18个 circle 来进行离线计算。
然后看数据路径,如果在集群上面来获取的话,来配置当中,这边有个配置文件,就是offline conflict,这里就是我们集群的路径,如果你的数据在集群上面,就用这种方式来进行拿取数据,我们现在就在本地拿,不在机器上拿,如果你是在集群上面,去拿就可以了。
我们直接放到本地,本地在哪呢?
就是刚刚前面那个数据预处理的这个计算整理的程序,那我们把数据放到了反爬虫素材资料包,然后这个数据样本 test 里面有个 part0000,放这里面去了,然后我这里面是调用点 map 方法把数据读过来,调用点 map,然后拿这个数据,数据使用“井 CS 井“进行拼接的,素材资料包数据,然后 test 里面有一个 party000,那来我们右键打开。
这就是我们经过改装程序改装完以后的这个数据,大家拿过来直接用就行了,或者说给你们这个离线数据,现在这个程序,直接拿过来跑就可以了。
但是路径要改一下,改到我们这个数据里面,数据放哪了,就调整到哪,把数据读取过来,而我们现在的数据是还是用”#cs#“拼接的,要把它拆分开,分开以后我拿到某某拆分开以后的数据,我就要用拆开以后的数据的,第1个、第2个、第3个也就是我这里面有很多个字段,大约这里面有接近20个字段左右。
request 是我们前面的样例,也就是说我的数据读取过了以后,拆分,完以后得到一个一个的字段,要把它和上面的样例类去进行对应,那这样,就能够将这个像的类似于数据库当作Mysql,这个有哪些字段,字段类型是什么,就类似于 Mysql。
然后,数据拆分出来了和这个 request 就对应完毕以后,将这个 request 注册成一张表,这张表的名字就叫 request。
先做出两张表,分别为 request 和 blacklist。将他们中数据的爬虫全部读取出来。
speed 这个文本里面全都是爬虫,爬虫读过来,然后再去用竖线进行分割,分割完以后我拿到了第1个数据,第2个数据,第3个数据和第4个数据,那这些数据拿到了。
就将数据处理完了,把它处理成了两张表,这就是我们从本地读数据处理成两张表的一个过程了。