关注公众号:分享电脑学习
回复"百度云盘" 可以免费获取所有学习文档的代码(不定期更新)
云盘目录说明:
tools目录是安装包
res 目录是每一个课件对应的代码和资源等
doc 目录是一些第三方的文档工具
承接上一篇文档《新增访客数量MR统计之Reduce和Runner相关准备》
创建StatsUserNewInstallUserCollector类和StatsDeviceBrowserNewInstallUserCollector类
编写StatsDeviceBrowserNewInstallUserCollector类
需要创建一个ICollector
编写代码
需要创建IDimensionConverter和一个实现类DimensionConverterImpl
编写IDimensionConverter
编写DimensionConverterImpl
填写缓存器
构造函数,默认无参构造函数
完成继承方法
填写代码
完成buildCacheKey方法
根据不同数据类型创建对于的cache key值
如果cache值为空,那么直接抛出异常
返回cache key值
继续编写getDimensionIdByValue
创建sql语句数组,包括查询语句和插入数据语句,第一条为查询语句,第二条为插入数据语句
编写上面那四个方法
buildDateSql
buildPlatformSql
buildBrowserSql
buildKpiSql
继续完成getDimensionIdByValue
获取数据库连接
并发控制,每次只允许一个维度进行id获取操作
返回结果
完成getConnection方法
获取数据库连接
如果在当前线程的缓存中没有找到对于的数据库连接,那么进行新建操作
从缓存中获取对应的数据库连接值
创建hadoop上下文,上下文中保存了jdbc的数据库连接信息
开始获取数据库连接
将新生成的连接保存到当前线程所属的cache中
添加close方法
添加setArgs方法
下面的部分
添加executeSql方法
下面的部分
接着的部分
接着部分
继续完成StatsDeviceBrowserNewInstallUserCollector
完成collect方法
完成后续的部分
完成StatsUserNewInstallUserCollector
完成collect方法
下面的部分
output-collector.xml
query-mapping.xml
导入数据库文件
代码已上传到云盘
网友评论