/AdRealTimeAnalysis

四川大学拓思艾诺广告流量实时分析项目

Primary LanguageJava

AdRealTimeAnalysis

四川大学拓思艾诺广告流量实时分析项目

需求

  1. 实现实时的动态黑名单机制,将每天对某个广告点击超过100次的用户拉黑

  2. 基于黑名单的非法广告点击流量过滤

  3. 统计每天各省各城市各广告的点击流量实时统计(基于需求二)

  4. 统计每天各省的top3热门广告(基于需求二)

  5. 统计各个广告最近一个小时内的点击趋势:各个广告最近1小时内各分钟的点击量(基于需求二)

  6. 实时计算每天各省城市各广告的点击量(基于需求二),更新到MySQL

实现思路

  1. 实时计算各batch中的每天各用户对各广告的点击次数

  2. 使用高性能方式将每天各用户对各广告的点击次数写入MySQL中(更新)

  3. 使用filter过滤出每天对某个广告点击超过100次的黑名单用户,并写入MySQL中

  4. 使用transform操作,对每个batch RDD进行处理,都动态加载MySQL中的黑名单生成RDD,然后进行join后,过滤掉batch RDD中的黑名单用户的广告点击行为

  5. 使用updateStateByKey操作,实时计算每天各省各城市各广告的点击量,并时候更新到MySQL

  6. 使用transform结合Spark SQL,统计每天各省份top3热门广告:首先以每天各省各城市各广告的点击量数据作为基础,首先统计出每天各省份各广告的点击量;然后启动一个异步子线程,使用Spark SQL动态将数据RDD转换为DataFrame后,注册为临时表;最后使用Spark SQL开窗函数,统计出各省份top3热门的广告,并更新到MySQL中