很多关于电商用户行为分析的spark的项目都是基于spark1.5版本开发,对于spark2.X已经成熟的今天不禁显得有些落后,而且spark本身采用Scala编写,采用Java的API虽然对于Java程序员更加友好,但是Java代码不仅繁琐,也失去了Scala的灵活和高效,而且对于大数据工程师来说Scala是应该掌握的一门语言,故本人基于spark2.2和Scala2.11.8编写了本项目
个人认为本项目有以下优点:
- 完全采用
spark2.2编写,相应依赖库也进行了更新 - 使用
Scala编写,编写更加简洁 - 尽量采用
函数式编程方式,学习怎样入门函数式编程
conf - 在程序开始之前加载my.properties文件中的配置信息
constants - 放置常量,避免程序中的硬编码
domain - 在读写数据库时将数据进行封装
dao - 数据库访问层,降低程序和数据库交互耦合
jdbc - 数据库访问接口,采用Scala伴生对象的方式封装了数据库连接池
spark - spark作业的四个模块,用户访问session分析,页面单跳转化率,广告实时点击流量分析
util - 使用Scala重写了工具类,为了更加函数式,增加了一些工具函数
由于刚开始,有些注释还不够完善,而且只完成了两个模块,作者仍然在更新,大家可以先star,之后慢慢研究消化