- 大數據分析:數據倉庫項目實戰
- 尚硅谷IT教育編著
- 2006字
- 2021-01-05 18:09:53
2.2 業務描述
2.2.1 采集模塊業務描述
1.數據生成模塊之用戶行為數據基本格式
用戶執行的一些操作會生成用戶行為數據發送到服務器,數據分為公共字段和業務字段。
● 公共字段:基本所有Android手機包含的字段。
● 業務字段:前端埋點上報的字段,有具體的業務類型。
如下示例表示業務字段的上傳。


示例日志(服務器時間戳 | 日志)如下。


2.數據生成模塊之事件日志數據
(1)商品列表頁加載過程的事件名稱為loading,產生的日志數據的具體字段名稱及字段描述如表2-1所示。
表2-1 商品列表頁加載過程loading

(2)商品點擊的事件名稱為display,產生的日志數據的具體字段名稱及字段描述如表2-2所示。
表2-2 商品點擊display

(3)商品詳情展示的事件名稱為newsdetail,產生的日志數據的具體字段名稱及字段描述如表2-3所示。
表2-3 商品詳情展示newsdetail

(4)廣告點擊的事件名稱為ad,產生的日志數據的具體字段名稱及字段描述如表2-4所示。
表2-4 廣告點擊ad

(5)消息通知的事件名稱為notification,產生的日志數據的具體字段名稱及字段描述如表2-5所示。
表2-5 消息通知notification

(6)用戶后臺活躍的事件名稱為active_background,產生的日志數據的具體字段名稱及字段描述如表2-6所示。
表2-6 用戶后臺活躍 active_background

(7)用戶評價的事件名稱為comment,產生的日志數據的具體字段名稱及字段描述如表2-7所示。
表2-7 用戶評價comment

(8)用戶收藏的事件名稱為favorites,產生的日志數據的具體字段名稱及字段描述如表2-8所示。
表2-8 用戶收藏favorites

(9)用戶點贊的事件名稱為praise,產生的日志數據的具體字段名稱及字段描述如表2-9所示。
表2-9 用戶點贊praise

續表

(10)產生的錯誤日志數據的具體字段名稱及字段描述如表2-10所示。
表2-10 錯誤日志

3.數據生成模塊之啟動日志數據
啟動日志,產生的日志數據的具體字段名稱及字段描述如表2-11所示。
表2-11 啟動日志

4.數據采集模塊之生產數據
通過運行生產日志的jar包來模擬數據生成的過程,得到日志數據。
5.數據采集模塊
數據采集模塊主要采集并落盤到服務器文件夾中的日志數據,需要監控多個日志產生文件夾并能夠做到斷點續傳,實現數據消費“at least once”語義,以及能夠根據采集到的日志內容對日志進行分類采集落盤,發往不同的Kafka topic。Kafka作為一個消息中間件起到日志緩沖作用,避免同時發生的大量讀/寫請求造成HDFS性能下降,能對Kafka的日志生產采集過程進行實時監控,避免消費層Flume在落盤HDFS過程中產生大量小數據文件,而降低HDFS運行性能,并對落盤數據采取適當壓縮措施,盡量節省存儲空間,降低網絡I/O。
業務數據采集要求按照業務數據庫表結構在數據倉庫中同步建表,并且根據業務數據庫表性質指定對應的同步策略,進行合理的關系建模和維度建模。
2.2.2 數據倉庫需求業務描述
1.數據分層建模
數據倉庫被分為5層,描述如下。
● ODS(Operation Data Store)層:原始數據層,存放原始數據,直接加載原始日志、數據,數據保持原貌不做處理。
● DWD(Data Warehouse Detail)層:明細數據層,結構和粒度與ODS層保持一致,對ODS層的數據進行清洗(去除空值、臟數據、超過極限范圍的數據)。
● DWS(Data Warehouse Service)層:服務數據層,以DWD層的數據為基礎,進行輕度匯總。一般聚集到以用戶當日、設備當日、商家當日、商品當日等的粒度。在這層通常會以某一個維度為線索,組成跨主題的寬表,比如,由一個用戶當日的簽到數、收藏數、評價數、抽獎數、訂閱數、點贊數、瀏覽商品數、添加購物車數、下單數、支付數、退款數及點擊廣告數組成的寬表。
● DWT(Data Warehouse Topic)層:主題數據層,按照主題對DWS層數據進行進一步聚合,構建每個主題的全量寬表。
● ADS(Application Data Store)層:數據應用層,也有人把這層稱為APP層、DAL層、DM層等。面向實際的數據需求,以DWD層、DWS層和DWT層的數據為基礎,組成各種統計報表,統計結果最終同步到關系型數據庫,如MySQL,以供BI或應用系統查詢使用。
讀者需要按照命名規范合理建表。
2.需求實現
電商業務發展日益成熟,但是如果缺少精細化運營的意識和數據驅動的經驗,那么發展將會陷入瓶頸。作為電商數據分析的重要工具——數據倉庫的作用就是為運營人員和決策團隊提供關鍵指標的分析數據。電商平臺的數據分析主要關注五大關鍵數據指標,包括活躍用戶量、轉化、留存、復購、GMV(指成交金額),以及三大關鍵思路:商品運營、用戶運營和產品運營。圍繞這一原則,本項目中要求實現的主要需求如下。
● 當日、當周、當月的活躍設備數;
● 每日新增設備數;
● 沉默設備數;
● 本周回流設備數;
● 流失設備數;
● 流存率;
● 最近連續三周活躍設備數;
● 最近七天內連續三天活躍設備數;
● 每日活躍會員數;
● 每日新增會員數;
● 每日新增付費會員數;
● 每日總付費會員數;
● 總會員數;
● 會員活躍率;
● 會員付費率;
● 會員新鮮度;
● 用戶行為漏斗分析;
● 商品銷量排名;
● 商品收藏排名;
● 商品加入購物車排名;
● 商品退款率排名;
● 商品差評率排名;
● 每日下單信息統計;
● 每日支付信息統計;
● 復購率。
要求將全部需求實現的結果數據存儲在ADS層,并且完成可用于工作調度的腳本,實現任務自動調度。
2.2.3 數據可視化業務描述
在MySQL中根據ADS層的結果數據創建對應的表,使用Sqoop工具定時將結果數據導出到MySQL中,并使用數據可視化工具對數據進行展示。