spark實際項目用戶行為分析大數據平臺實戰視頻教程
spark實際項目用戶行為分析大數據平臺實戰課程導讀
1、本次spark實際項目是國內一線互聯網公司正在推行使用的企業級大數據項目,主要使用spark框架進行實戰。
2、本套spark實際項目課程以spark技術講解實戰項目為主,分享講師多年從事互聯網大數據項目的經驗運用于項目開發中,可以避免甚至減少同學們走彎路,并且項目復雜難度極高,共計138節課程,學完本套項目,童鞋們一定可以積累到大量的spark大數據方面的知識以及講師傳授的工作總結經驗。
3、如果童鞋們有spark方面的基礎的話,我敢向大家保證,實戰完本門課程可以達到兩到三年純spark大數據項目開發的經驗,邁入高級大數據工程師的行列。
4、學員今后想要跳槽或者面試的時候,有了該套復雜度極高的spark實際項目經驗以及熟練掌握的spark知識會讓你在面試過程中有了談高薪的底氣,甚至可以應對國內一線著名互聯網公司。
5、學習本套spark實際項目的童鞋們要求你有很好的java基礎、hadoop必須會熟練應用、spark從入門到精通也要熟練掌握,如果以上技術點玩不轉的話將會很難掌握和消化這套實戰項目,因為這套項目比較復雜。
第一章 大數據集群搭建
1、第一章屬于spark實際項目前的準備階段,本章節需要將spark實際項目中用到的環境集群搭建、工具統統準備完善,有個好的開端才能在下面的實際項目開發中無往而不利。
2、本章節需要搭建具有三個節點的CentOS集群環境,各個工具確保版本一致兼容,CentOS使用6.4版本的鏡像文件,hadoop使用cdh5.3.6的版本進行搭建,這些工具都會打包在spark實際項目課程中提供給大家。
3、spark實際項目大數據集群搭建課程大綱:
1.1、課程介紹 |
1.2、CentOS 6.4集群搭建-1 |
1.3、CentOS 6.4集群搭建-2 |
1.4、hadoop-2.5.0-cdh5.3.6集群搭建 |
1.5、hive-0.13.1-cdh5.3.6安裝 |
1.6、zookeeper-3.4.5-cdh5.3.6集群搭建 |
1.7、kafka_2.9.2-0.8.1集群搭建 |
1.8、flume-ng-1.5.0-cdh5.3.6安裝 |
1.9、離線日志采集流程介紹 |
1.10、實時數據采集流程介紹 |
1.11、Spark 1.5.1客戶端安裝以及基于YARN的提交模式 |
第二章 用戶訪問session分析
1、第二章進行spark實際項目的開發,這一章節是項目的重中之重,該模塊是用戶訪問session分析模塊,也是最復雜、最困難的一個模塊。
2、本模塊要實現的目標是spark實際項目的用戶訪問session分析,什么意思呢?就是可以根據登錄用戶的某些條件,篩選出一些特定的用戶進行分析,比如有特定年齡、職業、所在城市的一些用戶。
3、用戶篩選完成后如何做統計分析呢?比如說對這些用戶在指定日期范圍內發起的session進行統計,統計訪問時長在0~3秒的session占總session數量的比列。
4、spark實際項目用戶訪問session分析課程大綱:
2.1、模塊介紹 |
2.2、基礎數據結構以及大數據平臺架構介紹 |
2.3、需求分析 |
2.4、技術方案設計 |
2.5、數據表設計 |
2.6、Eclipse工程搭建以及工具類說明 |
2.7、開發配置管理組件 |
2.8、JDBC原理介紹以及增刪改查示范 |
2.9、數據庫連接池原理 |
2.10、單例設計模式 |
2.11、內部類以及匿名內部類 |
2.12、開發JDBC輔助組件(上) |
2.13、開發JDBC輔助組件(下) |
2.14、JavaBean概念講解 |
2.15、DAO模式講解以及TaskDAO開發 |
2.16、工廠模式講解以及DAOFactory開發 |
2.17、JSON數據格式講解以及fastjson介紹 |
2.18、Spark上下文構建以及模擬數據生成 |
2.19、按session粒度進行數據聚合 |
2.20、按篩選參數對session粒度聚合數據進行過濾 |
2.21、session聚合統計之自定義Accumulator |
2.22、session聚合統計之重構實現思路與重構session聚合 |
2.23、session聚合統計之重構過濾進行統計 |
2.24、session聚合統計之計算統計結果并寫入MySQL |
2.25、session聚合統計之本地測試 |
2.26、session聚合統計之使用Scala實現自定義Accumulator |
2.27、session隨機抽取之實現思路分析 |
2.28、session隨機抽取之計算每天每小時session數量 |
2.29、session隨機抽取之按時間比例隨機抽取算法實現 |
2.30、session隨機抽取之根據隨機索引進行抽取 |
2.31、session隨機抽取之獲取抽取session的明細數據 |
2.32、session隨機抽取之本地測試 |
2.33、top10熱門品類之需求回顧以及實現思路分析 |
2.34、top10熱門品類之獲取session訪問過的所有品類 |
2.35、top10熱門品類之計算各品類點擊、下單和支付的次數 |
2.36、top10熱門品類之join品類與點擊下單支付次數 |
2.37、top10熱門品類之自定義二次排序key |
2.38、top10熱門品類之進行二次排序 |
2.39、top10熱門品類之獲取top10品類并寫入MySQL |
2.40、top10熱門品類之本地測試 |
2.41、top10熱門品類之使用Scala實現二次排序 |
2.42、top10活躍session之計算top10品類被各sessoin點擊的次數 |
2.43、top10活躍session之分組取TopN算法獲取top10活躍session |
2.44、top10活躍session之本地測試以及階段總結 |
第三章 企業級性能調優
1、第二章已經將用戶session分析模塊所有的功能點全部開發完成,第三章的目標就是進行spark實際項目企業級的性能調優,讓程序跑的更快、效率更高。
2、本章主要對spark實際項目的用戶session分析模塊所涉及的二十多個技術點進行整套的性能優化,講師根據自己多年的經驗講解實際項目中如何進行性能調優以及分配更多資源。
3、除了講解性能調優的實際操作步驟外,還會涉及原理部分,講解為什么如此操作就能夠讓程序效率更快,讓大家明白知其然并且知其所以然。
4、spark實際項目企業級性能調優模塊目錄大綱:
3.1、性能調優之在實際項目中分配更多資源 |
3.2、性能調優之在實際項目中調節并行度 |
3.3、性能調優之在實際項目中重構RDD架構以及RDD持久化 |
3.4、性能調優之在實際項目中廣播大變量 |
3.5、性能調優之在實際項目中使用Kryo序列化 |
3.6、性能調優之在實際項目中使用fastutil優化數據格式 |
3.7、性能調優之在實際項目中調節數據本地化等待時長 |
3.8、JVM調優之原理概述以及降低cache操作的內存占比 |
3.9、JVM調優之調節executor堆外內存與連接等待時長 |
3.10、Shuffle調優之原理概述 |
3.11、Shuffle調優之合并map端輸出文件 |
3.12、Shuffle調優之調節map端內存緩沖與reduce端內存占比 |
3.13、Shuffle調優之HashShuffleManager與SortShuffleManager |
3.14、算子調優之MapPartitions提升Map類操作性能 |
3.15、算子調優之filter過后使用coalesce減少分區數量 |
3.16、算子調優之使用foreachPartition優化寫數據庫性能 |
3.17、算子調優之使用repartition解決Spark SQL低并行度的性能問 |
3.18、算子調優之reduceByKey本地聚合介紹 |
3.19、troubleshooting之控制shuffle reduce端緩沖大小以避免OOM |
3.20、troubleshooting之解決JVM GC導致的shuffle文件拉取失敗 |
3.21、troubleshooting之解決YARN隊列資源不足導致的application直接失敗 |
3.22、troubleshooting之解決各種序列化導致的報錯 |
3.23、troubleshooting之解決算子函數返回NULL導致的問題 |
3.24、troubleshooting之解決yarn-client模式導致的網卡流量激增問題 |
3.25、troubleshooting之解決yarn-cluster模式的JVM棧內存溢出問題 |
3.26、troubleshooting之錯誤的持久化方式以及checkpoint的使用 |
3.27、數據傾斜解決方案之原理以及現象分析 |
3.28、數據傾斜解決方案之聚合源數據以及過濾導致傾斜的key |
3.29、數據傾斜解決方案之提高shuffle操作reduce并行度 |
3.30、數據傾斜解決方案之使用隨機key實現雙重聚合 |
3.31、數據傾斜解決方案之將reduce join轉換為map join |
3.32、數據傾斜解決方案之sample采樣傾斜key單獨進行join |
3.33、數據傾斜解決方案之使用隨機數以及擴容表進行join |
第四章 頁面單跳轉化率統計
1、頁面單跳轉化率的模塊是spark實際項目中相對較簡單的模塊,為什么還需要單獨列出這一模塊呢?是因為想要告訴大家,在互聯網行業做這種用戶行為分析的spark實際項目時,頁面單跳轉化率是非常經典的功能,而且也非常有用。
2、假設有有人訪問我們商品列表頁,這是我們就會希望用戶跳轉到spark實際項目的商品詳情頁進行支付購買,這個頁面跳轉就叫做單跳,跳轉過去的數量與訪問總數量之比就叫單跳轉化率,統計該數據有助于對用戶購買率進行數據分析。
3、spark實際項目頁面單跳轉化率統計模塊課程大綱:
4.1、模塊介紹 |
4.2、需求分析、技術方案設計、數據表設計 |
4.3、編寫基礎代碼 |
4.4、面切片生成以及頁面流匹配算法實現 |
4.5、計算頁面流起始頁面的pv |
4.6、計算頁面切片的轉化率 |
4.7、將頁面切片轉化率寫入MySQL |
4.8、本地測試 |
4.9、生產環境測試 |
4.10、生產環境測試 |
第五章 各區域熱門商品統計
1、本章為各區域熱門商品統計模塊,模塊的需求是根據spark實際項目的用戶指定的日期范圍,統計各個地區或各個區域下的最熱門的排名前幾位的商品有哪些。
2、spark實際項目各區域熱門商品統計課程大綱:
5.1、模塊介紹 |
5.2、需求分析、技術方案設計以及數據設計 |
5.3、查詢用戶指定日期范圍內的點擊行為數據 |
5.4、異構數據源之從MySQL中查詢城市數據 |
5.5、關聯城市信息以及RDD轉換為DataFrame后注冊臨時表 |
5.6、開發自定義UDAF聚合函數之group_concat_distinct() |
5.7、查詢各區域各商品的點擊次數并拼接城市列表 |
5.8、關聯商品信息并使用自定義get_json_object函數和內置if函數標記經營類型 |
5.9、使用開窗函數統計各區域的top3熱門商品 |
5.10、使用內置case when函數給各個區域打上級別標記 |
5.11、將結果數據寫入MySQL中 |
5.12、Spark SQL數據傾斜解決方案 |
5.13、生產環境測試 |
第六章 廣告點擊流量實時統計
1、第六章是廣告點擊流量實時統計模塊,該模塊是跟spark技術結合性很強的模塊,統計spark實際項目用戶的廣告點擊行為,代表了電商網站用戶行為的方方面面。
2、咱們的電商平臺通常會給一些客戶投放廣告,廣告投放在網站的某個廣告位的位置,當用戶來網站的時候,廣告會顯示出來,這是就會有用戶去點擊,廣告被點擊以后,我們就會根據這種點擊行為進行實時的大數據計算和統計。
3、spark實際項目廣告點擊流量實時統計課程大綱:
6.1、需求分析、技術方案設計以及數據設計 |
6.2、為動態黑名單實時計算每天各用戶對各廣告的點擊次數 |
6.3、使用高性能方式將實時計算結果寫入MySQL中 |
6.4、過濾出每個batch中的黑名單用戶以生成動態黑名單 |
6.5、基于動態黑名單進行點擊行為過濾 |
6.6、計算每天各省各城市各廣告的點擊量 |
6.7、計算每天各省的top3熱門廣告 |
6.8、計算每天各廣告最近1小時滑動窗口內的點擊趨勢 |
6.9、實現實時計算程序的HA高可用性 |
6.10、對實時計算程序進行性能調優 |
6.11、生產環境測試 |
6.12、都學到了什么? |
123.Spark 2.0-新特性介紹 |
124.Spark 2.0-易用性:標準化SQL支持以及更合理的API |
125.Spark 2.0-高性能:讓Spark作為編譯器來運行 |
126.Spark 2.0-新特性介紹-智能化:Structured Streaming介紹 |
127.Spark 2.0-新特性介紹-Spark 1.x的Volcano Iterator Model深度剖析 |
128.Spark 2.0-新特性介紹-whole-stage code generation技術和vectorization技術 |
129.Spark 2.0-Spark 2.x與1.x對比以及分析、學習建議以及使用建議 |
130.Spark 2.0-課程環境搭建:虛擬機、CentOS、Hadoop、Spark等 |
131.Spark 2.0-開發環境搭建:Eclipse+Maven+Scala+Spark |
132.用戶活躍度分析:模塊介紹以及交互式用戶行為分析系統的解釋 |
133.用戶活躍度分析:統計指定時間內訪問次數最多的10個用戶 |
134.統計指定時間內購買金額最多的10個用戶 |
135.基于Spark 2.0的用戶活躍度分析:統計最近一個周期相比上一個周期訪問次數增長最多的10個用戶 |
136.基于Spark 2.0的用戶活躍度分析:統計最近一個周期相比上一個周期購買金額增長最多的10個用戶 |
137.基于Spark 2.0的用戶活躍度分析:統計指定注冊時間范圍內頭7天訪問次數最高的10個用戶 |
138.基于Spark 2.0的用戶活躍度分析:統計指定注冊時間范圍內頭7天購買金額最高的10個用戶 |
相關文章 |