關注公衆號:分享電腦學習
回覆"百度雲盤" 可以免費獲取所有學習文檔的代碼(不定期更新)
雲盤目錄說明:
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
導入數據庫文件
代碼已上傳到雲盤