寫在前面: 博主是一名軟件工程系大數據應用開發專業大二的學生,暱稱來源於《愛麗絲夢遊仙境》中的Alice和自己的暱稱。作爲一名互聯網小白,
寫博客一方面是爲了記錄自己的學習歷程,一方面是希望能夠幫助到很多和自己一樣處於起步階段的萌新
。由於水平有限,博客中難免會有一些錯誤,有紕漏之處懇請各位大佬不吝賜教!個人小站:http://alices.ibilibili.xyz/ , 博客主頁:https://alice.blog.csdn.net/
儘管當前水平可能不及各位大佬,但我還是希望自己能夠做得更好,因爲一天的生活就是一生的縮影
。我希望在最美的年華,做最好的自己
!
最近開始上手一個大數據離線數倉項目。本篇博客先爲大家進行一個總體的介紹,包括各個階段的任務以及項目的簡介,環境,需求等等…
碼字不易,先贊後看 !
總體介紹
階段一
瞭解行業背景、瞭解項目背景,項目架構介紹、技術選型,項目環境(數據/硬件)介紹,項目ER圖、項目需求介紹。
基於項目需求實現查詢功能(寫SQL)或整理出查詢流程。
階段二
學習、掌握kettle的使用、使用kettle將項目需求所需的數據在MySQL同步到Hive。
使用sqoop,將剩餘的數據在MySQL同步到Hive。
階段三
學習數據倉庫理論知識、創建數據倉庫,並導入數據。
解決數據緩慢變化維問題。
階段四
編寫SQL實現以下業務分析,並按照數據倉庫結構存出結果
基於日期的訂單指標分析(4)
基於地域的訂單分類指標分析(18)
基於用戶的訂單指標分析(24)
基於用戶的退貨指標分析(5)
階段五
學習、掌握kylin的使用,使用kylin,爲數據倉庫內的數據進行預計算
階段六
用戶瀏覽記錄整理分析(點擊流)
階段一
目標:
- 瞭解大數據離線數倉架構
- 瞭解項目部署環境(數據規模和集羣規模)
- 瞭解項目ER圖
- 瞭解項目需求
電商行業分析
近年來,中國的電子商務快速發展,交易額連創新高,電子商務在各領域的應用不斷拓展和深化,相關服務業蓬勃發展、支撐體系不斷健全完善、創新的動力和能力 不斷增強。電子商務正在與實體經濟深度融合,進入規模性發展階段,對經濟社會生活的影響不斷增大,正成爲我國經濟發展的新引擎。
2012年雙十一
2019年雙十一
電商行業技術特點
- 技術新
- 技術範圍廣
- 分佈式
- 高併發、集羣、負載均衡(Nginx)、高可用(備機)
- 海量數據
- 業務複雜
- 系統安全
電商業務系統簡介
品優購網上商城是一個綜合性的 B2B2C 平臺,類似京東商城、天貓商城。網站採用商家入駐的模式,商家入駐平臺提交申請,由平臺進行資質審覈,審覈通過後,商家擁有獨立的管理後臺錄入商品信息。商品經過平臺審覈後即可發佈。
品優購網上商城主要分爲網站前臺、運營商後臺、商家管理後臺三個子系統。
網站前臺
主要包括網站首頁、商家首頁、商品詳細頁、搜索頁、會員中心、訂單與支付相關頁面、秒殺頻道等。
運營商後臺
是運營商的運營人員的管理後臺。 主要包括商家審覈、品牌管理、規格管理、模板管理、商品分類管理、商品審覈、廣告類型管理、廣告管理、訂單查詢、商家結算等。
商家管理後臺
入駐的商家進行管理的後臺,主要功能是對商品的管理以及訂單查詢統計、資金結算等功能。
千億級數倉項目簡介
業務流程
現有的銷售額已經是峯值了嗎?是否可以繼續提升?
如何在海量的客戶和海量的商品之間找到結合點,達成更多的電子交易,促進電子商務平臺競爭力提升,已經成爲新時期網絡購物,電子商務平臺必須重視的重要問題。要從海量的數據中尋找決策,離不開先進的數據倉庫技術。
千億級數倉模仿阿里巴巴雙十一的大屏顯示功能實現的互聯網電商指標的離線,同時也模仿了阿里巴巴大數據平臺上面數據倉庫的設計思想和理念。大家通過學習這個項目,能夠掌握以下核心技能:
- 數據倉庫的概念和建設過程
- 離線數據倉庫的功能、使用場景和常用的技術棧
本次大數據數倉項目,主要圍繞以下業務流程開展建設。對公司的運營、決策提供數據支撐。
- 商家發佈商品
- 商家商品上架(商品可以被購買了)
- 用戶搜索商品
- 用戶瀏覽商品(查看商品的具體信息)
- 用戶可以將商品添加到購物車
- 用戶提交訂單
- 用戶支付
大數據離線數倉項目架構
項目技術簡介
- Kettle
- 緩慢變化維(拉鍊表):時間維度,腳本生成,時間維度生成之後不會變化
- Hive
- DataX:導出數據的工具
- Spark SQL:計算引擎
- Kylin:計算引擎,進行預計算之後的多維統計分析可以達到亞秒級別。
項目環境介紹
- 業務數據量
用戶數:300W
每日訂單量:10W
每日交易額:700W
商家數:5W
商品數:45W
PV:500W
UV:50W
- 數據在hdfs中平均每天 40G左右的速度增長,存儲3份,每天增長大概120G,【集羣如何規劃】
- 硬件資源
數量:30臺
CPU資源:24核
內存:128G
硬盤:4T
兩種解決方式:
1:增加磁盤,對磁盤擴容,
2:把之前的歷史數據導出,hadoop歸檔技術,可以方便導出我們大數據集羣,避免佔用集羣的資源,再把數據導入即可。
項目ER圖
E-R圖也稱實體-聯繫-圖(Entity Relationship Diagram),提供了表示實體類型、屬性和聯繫的方法,用來描述現實世界的概念模型。它是描述現實世界關係概念模型的有效方法。是表示概念關係模型的一種方式。
例如:
再複雜一點:
本次項目的數據總量
本次項目主要用到的10個表的ER圖
項目需求
需求列表
結語
本次的【千億級數倉】階段一 分享就到這裏,感謝看到這裏的朋友👍
如果以上過程中出現了任何的紕漏錯誤,煩請大佬們指正😅
受益的朋友或對大數據技術感興趣的夥伴記得點贊關注支持一波🙏