一、推送数据:
前面已经将数据分类、解析、加工等一系列操作封装到了ProcessedData中。(ProcessedData封装这着两种数据query,book。加工后的与原始数据)根据不同的数据推送到不同的topic中。
具体实现(query):1、过滤出属与query的数据,并查询配置文件中query的对应的topic 2、封装kafka的参数,并设置kafka的参数 3、按照分区分送数据 循环 rdd 发送数据
(book)数据类似,只是对应的topic不同
二、实时监控
实时监控:背景(对任务进行实时监控,处理一批数据,要看下处理速度和时间,状态)前提:开启spark服务 url:http://localhost:4040/metrics/json
重要的指标:appid,appname、endtime、rddcount、花费时间(开始批次时间-结束批次时间)、速度、serversCountMap
//获取监控的json数据 SparkMetricsUtils.getMetricsJson(url)
//应用指标在gauges节点下 redis 中的key加上时间戳
定时任务
@Scheduled() 注解进行定时发送redis数据到mysql中