Hadoop离线数据分析平台实战——440DataApi后台架构搭建
项目进度
模块名称 | 完成情况 |
---|---|
1. 程序后台框架搭建 | 未完成 |
2. 用户基本信息展示 | 未完成 |
3. 浏览器信息展示 | 未完成 |
4. 地域信息展示 | 未完成 |
5. 外链信息展示 | 未完成 |
6. 用户浏览深度展示 | 未完成 |
7. 事件数据展示 | 未完成 |
8. 订单数据展示 | 未完成 |
后台程序结构总体介绍
我们采用提供两个相关的rest api来提供所有的数据的访问,
rest api返回的结果为json数据格式,
通过定义不同的bucket和metric来区别不同的api,
然后通过api的不同分别获取不同的参数(dimension)。
除此之外,我们还需要一个获取维度信息的rest api接口来方便获取相关维度信息。
Service层我们采用一个单独的service来处理所有普通的,
没有特殊要求的api请求,通过mybatis完成和mysql数据库的交互,
其中api对应的mybatis执行namespace(执行sql的定位信息)保存到spring的配置文件中。
针对特殊的api,我们可以提供一种单独的自定义service来进行处理。
如果针对从数据库中获取的数据需要进行计算,那么在service获取mysql的数据之后,会进行处理操作。
涉及到的类及其作用
我们采用AE(analytic engine)简称我们的dataapi项目。
文件及其作用:
AEConstants: 常量类
AEController: 主要提供获取数据的api接口,继承自BaseController类。
DimensionController: 提供dimension相关api接口的controller类,继承BaseController类。
AEService: 提供数据获取的service接口,默认实现未AEServiceImpl。
DimensionService: 提供获取dimension相关的接口。
AEDao: 处理操作mysql的接口(基本), 继承自BaseDao类。
xxxDimensionDao: 处理具体Dimension相关的和数据的dao类。
xxxDimension: model/vo类
xxxUtil: 工具类
xxxMapper.xml:mybatis的sql文件
ae-beans.xml: spring bean配置文件,主要作用是配置自定义service、dao相关bean以及数据库连接池。
aeConfigContext.xml: spring的主要配置文件,主要配置api的参数信息以及api和mybatis映射关系。
log4j.properties: 日志打印信息。
jdbc.properties: 数据库连接信息。
web.xml: web配置信息。
编码步骤
- 编写Controller
- 编写Service
- 编写Dao
- 测试