所用技术:Hive,Spark-Core,Spark-sql, Scala,Shell
开发工具:IDEA, Linux, VIM
项目说明: 为提高应用汇游戏类app下载量,要给用户`推荐用户喜欢的app,提升app广告质量
责任描述:
1、 研究适用于app广告的推荐算法
2、算法公式落地到代码,使用 Spark代码实现
3、优化Spark程序,执行时间从7min减少到3min左右,结果数据也与预期一致
4、生成app相似度结果数据并定时导出app相似度排序结果文件,压缩成tar包上传到广告系统平台
项目流程:
1、 首先建模确定数据源,把清洗过的16天用户安装app数据进行合并,取每个用户最新的行为数据并压缩成ORC作为数据源
2、 用spark-sql算出每个游戏类app的最大安装量,同时考虑对安装60个以上游戏app的用户做降权处理
3、 迭代累加所有用户产生的app相似度贡献值,同时将累加结果根据两个app拥有量进行算数平均化,对热门app做一个降权处理
4、 程序算出相似度后使用窗口函数根据app包名进行分组,相似度倒序排序,拿到每两个App相似度的排名,结果文件以orc