電商分析平臺
該項目是我根據尚硅谷大數據電商分析平臺視頻做的筆記,總共分成了大概十個需求,每個需求我都用一篇文章來解析
項目文章目錄:
需求四:Top10熱門品類的Top10活躍Session統計
項目整體概述
課程簡介
本課程是一套完整的企業級電商大數據分析系統,在當下最爲熱門的Spark生態體系基礎上構建企業級數據分析平臺,本系統包括離線分析系統與實時分析系統,技術棧涵蓋Spark Core,Spark SQL,Spark Streaming與Spark性能調優,並在課程中穿插Spark內核原理與面試要點,能夠讓學員在實戰中全面掌握Spark生態體系的核心技術框架。
本課程內容豐富,所有需求均來自於企業內部,對於每一個具體需求,講師全部採用文字與圖片相結合的講解方式,從零實現每一個需求代碼並對代碼進行逐行解析,讓學員知其然並知其所以然,通過本課程,能夠讓你對Spark技術框架的理解達到新的高度。
如何學習?
-
到github下載源碼(順便給個start噢!)
地址:spark-shopAnalyze -
根據目錄中第一篇文章,理解commons模塊和mock模塊的作用,並跟着文章創建一個maven工程!!!這個是很重要的,
-
根據目錄中第二篇文章,理解需求的大概內容,
-
跟着目錄順序,理解每個需求的大致內容,然後一定要自己手打一遍
-
每做完一個需求,總結該需求所學
-
遇到不會的算子自查百度
所用技術框架
- spark(spark-sql,spark-streaming-spark-sql)
- hive
- kafka
- mysql
- hadoop-hdfs
所需環境
- hadoop
本人是利用virtualBox搭建了hadoop的完全分佈式環境如果你還沒有hadoop環境,可以參考下面兩篇文章:
【超詳細】最新Windows下安裝Virtual Box後安裝CentOS7並設置雙網卡實現宿主機與虛擬機互相訪問
【超詳細】最新VirtualBox+CentOS7+Hadoop2.8.5手把手搭建完全分佈式Hadoop集羣(從小白逐步進階)
- IDEA scala,spark開發環境
- sparkStreaming與kafka的整合
主要功能
主要分爲離線統計和實時統計兩部分,共分十個需求,每個需求一篇文章進行詳解,保證能看的懂
你能學到什麼?
- 整合hadoop-hdfs,kafka,spark,spark-sql,spark-streaming,hive等大數據常用框架,對所學知識起到梳理作用
- 對spark的各個算子,以及spark-sql,spark-streaming深入理解.這個教程主要的核心框架就是spark
- 知道常見的大數據計算模式,懂得如何對計算需求進行分析,逆推,並且做到活學活用
項目模塊分析
項目目錄:
commons模塊
commons主要用於一些配置讀取,對象連接池獲取,代碼規範等
mock模塊
- mock模塊主要用於模擬數據的獲取,
- MockDataGenerate用於產生離線的數據,你可以選擇保存到hadoop中,亦或者保存到hive中.如果你還沒學過hive,那就保存到hadoop
- MockRealTimeData用於產生實時數據,並通過kafka將數據發送到sparkStreaming,以便統計實時的數據
sesion模塊
- sesion模塊是離線數據統計的模塊
- 其中sessionStat是主函數所在處
- server目錄下的各個server是各個需求的代碼處,會通過主函數sessionStat進行引用
- sessionAccumulator是自定義的累加器
- SortKey是自定義排序器
adverStat模塊
- advertStat是主函數所在
- 因爲實時部分的需求是上下相互關聯的,所以都在一個主函數中進行調用
- jdbcHelper,可視爲java中的dao層