开发者学堂课程【大数据实战项目 - 反爬虫系统(Lua+Spark+Redis+Hadoop框架搭建)第七阶段:离线计算-数据改装程序】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/675/detail/11737
离线计算-数据改装程序
内容简介:
一、设置任务监控
二、测试数据的改装
一、设置任务监控
爬虫识别阶段的监控
离线分析的数据已经有了,但是支撑不了离线分析。所以需要对数据进行改装
(1)、需求
对当前 streaming 任务设置任务监控
(2)、代码
黄色部分为任务监控代码及:SparkStreamingMonitor.queryMonitor(sc,message)
注意下面这段黄色代码,此为集群获取代码:
// 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”
设置任务监控使用代码:SparkStreamingMonitor(sc,message)
,打开代码以后,将下方黄色代码粘贴带入到 Monitor。我们现在使用的时本地计算,本地的
二、测试数据的改装
(1)、需求
在我们使用产生的真实测试文件中,并不包含我们离线分析的很多指标,如:国际查询,普通用户查询等,我们可以通过下面的程序将我们通过lua生成的测试数据进行一次改装,变成共离线统计使用的数据。
下面我们只提供改装测试数据的代码,规则比较简单,我们采取抽样修改数据,以满足我们图形显示的需求。
当然,在真实数据的情况下,会和我们改装后的数据类似,但是数据的形式可能会更离散化,而不是像我们改装的那么规律。
(2)、代码
代码在哪里跑?
在材料文件当中素材文件里项目代码文件有一个离线计算文件中有所有需要的离线计算代码
Data 里面的方面就是数据改装
素材文件里的样本文件中有我们需要的样本
①数据预处理,根据不同的行号条件,将数据进行相应的处理,如下面这段代码
val request=sc.textFile(path=”F:\\反爬虫项目\\素材\\资料包\\数据样本
\\part-0000
”)
.map(x=>{
var y=x
if(i%50==0){
y=y.replace(target=”/B2C40/query/jaxb/direct/query.ad”,replacement=”/ita/int1/zh/shop/csair”)
}
if(i%201==0){
y=y.replace(target=”/B2C40/query/jaxb/direct/query.ad”,replacement=”/modules/permissionnew/csair”).replace(
}
if(i%701==0){
y=y.replace(target=”/B2C40/query/jaxb/direct/query.ad”,replacement=”/modules/permissionnew/csair”)
}
if(i%1001==0){
y=y.replace(target=”/B2C40/query/jaxb/direct/query.ad”,replacement=”/upp_payment/pay/csair”)
}
if(i%2001==0){
y=y.replace(target=”192.168.56.1”,replacement=”243.234.12.43”)
}
If(i%200==0||i%402==0||i%2002==0||i%502==0){
Y=y.replace(target=”National”,replacement=”Internatinal”)
处理好的数据进入 test,处理好的数据进行离线数据计算