Spark大型項目實戰(zhàn):電商用戶行為分析大數(shù)據(jù)平臺(高端大數(shù)據(jù)項目實戰(zhàn)課程)_北風(fēng)網(wǎng)
http://www.ibeifeng.com/goods-582.html
本項目主要講解了一套應(yīng)用于互聯(lián)網(wǎng)電商企業(yè)中意推,使用Java、Spark等技術(shù)開發(fā)的大數(shù)據(jù)統(tǒng)計分析平臺仗颈,對電商網(wǎng)站的【各種用戶行為(訪問行為、頁面跳轉(zhuǎn)行為枉长、購物行為、廣告點擊行為等)進行復(fù)雜的分析】。用統(tǒng)計分析出來的數(shù)據(jù)朝蜘,輔助公司中的PM(產(chǎn)品經(jīng)理)、數(shù)據(jù)分析師以及管理人員分析現(xiàn)有產(chǎn)品的情況涩金,并根據(jù)用戶行為分析結(jié)果持續(xù)改進產(chǎn)品的設(shè)計谱醇,以及調(diào)整公司的戰(zhàn)略和業(yè)務(wù)。最終達到用大數(shù)據(jù)技術(shù)來幫助提升公司的業(yè)績步做、營業(yè)額以及市場占有率的目標(biāo)副渴。
1.課程研發(fā)環(huán)境
開發(fā)工具: Eclipse
Linux:CentOS 6.4
Spark: 1.5.1
Hadoop: hadoop-2.5.0-cdh5.3.6
Hive: hive-0.13.1-cdh5.3.6
ZooKeeper: zookeeper-3.4.5-cdh5.3.6
Kafka: 2.9.2-0.8.1
其他工具:flume-ng-1.5.0-cdh5.3.6、SecureCRT全度、WinSCP煮剧、VirtualBox等
2.內(nèi)容簡介
項目主要采用目前大數(shù)據(jù)領(lǐng)域最流行、最熱門的技術(shù)——Spark将鸵,具有普通項目無法比擬的技術(shù)前瞻性與尖端性勉盅。本項目使用了Spark技術(shù)生態(tài)棧中最常用的三個技術(shù)框架,Spark Core顶掉、Spark SQL和Spark Streaming草娜,進行離線計算和實時計算業(yè)務(wù)模塊的開發(fā)。實現(xiàn)了包括【用戶訪問session分析痒筒、頁面單跳轉(zhuǎn)化率統(tǒng)計宰闰、熱門商品離線統(tǒng)計、廣告點擊流量實時統(tǒng)計4個業(yè)務(wù)模塊】簿透。
項目中所有的業(yè)務(wù)功能模塊都是直接從實際企業(yè)項目中抽取出來的移袍,業(yè)務(wù)復(fù)雜度絕對沒有任何縮水,只是為了更好的貼近大數(shù)據(jù)實戰(zhàn)課程的需要老充,進行了一定程度上的技術(shù)整合和業(yè)務(wù)整合葡盗。該項目的真實性、業(yè)務(wù)復(fù)雜性以及實戰(zhàn)型啡浊,絕對不是市面上現(xiàn)有的僅幾個課時的Demo級的大數(shù)據(jù)項目可以比擬的戳粒。
該項目完全涵蓋了Spark Core路狮、Spark SQL和Spark Streaming這三個技術(shù)框架中幾乎所有的功能點、知識點以及性能優(yōu)化點蔚约。僅一個項目,即可全面掌握Spark技術(shù)在實際項目中如何實現(xiàn)各種類型的業(yè)務(wù)需求涂籽!在項目中苹祟,重點講解了實際企業(yè)項目中積累下來的寶貴的性能調(diào)優(yōu)、troubleshooting以及數(shù)據(jù)傾斜解決方案等知識和技術(shù)评雌,幾乎所有知識和技術(shù)都是全網(wǎng)唯一树枫,是任何其他視頻課程以及書本中都沒有包含的珍貴經(jīng)驗積累!同時以企業(yè)級大數(shù)據(jù)項目開發(fā)流程貫穿每個業(yè)務(wù)模塊的講解景东,涵蓋了項目開發(fā)全流程砂轻,包括需求分析、方案設(shè)計斤吐、數(shù)據(jù)設(shè)計搔涝、編碼實現(xiàn)、測試以及性能調(diào)優(yōu)等環(huán)節(jié)和措,全面還原真實大數(shù)據(jù)項目的開發(fā)流程庄呈。該項目的整體商業(yè)價值絕對在百萬元以上!
//
備注一:關(guān)于《Spark從入門到精通(Scala編程派阱、案例實戰(zhàn)诬留、高級特性、Spark內(nèi)核源碼剖析贫母、Hadoop高端)》與本套課程的關(guān)系文兑,如果學(xué)習(xí)了第一套Spark技術(shù)課程,那么在融會貫通的情況下腺劣,可以達到12年Spark開發(fā)經(jīng)驗的水平绿贞;如果在學(xué)習(xí)完第一套Spark課程,同時學(xué)習(xí)完第二套Spark項目課程誓酒,并且融會貫通的情況下樟蠕,那么可以達到23年的Spark開發(fā)經(jīng)驗的水平,成為Spark高級/資深開發(fā)工程師靠柑。
在真正大型復(fù)雜的項目中寨辩,可能Spark需要管理大量的組件,此時可能需要用Spring框架歼冰;可能需要執(zhí)行復(fù)雜的數(shù)據(jù)庫操作靡狞,此時需要ORM類框架,比如MyBatis隔嫡;可能需要與Redis甸怕、Kafka甘穿、ZooKeeper整合使用,此時需要使用Java Client API梢杭;以上需求都是Scala滿足不了的温兼。使用Scala很可能會導(dǎo)致項目的多語言混編,造成可維護性和可擴展性大幅度降低武契。(注意募判,本套項目課程為了降低學(xué)習(xí)難度,并且聚焦在Spark上咒唆,沒有使用以上任何技術(shù)届垫,只是用純粹的Java基礎(chǔ)編程與Spark技術(shù);但是這并不意味著你在真正的工作中不會碰到上述的情況)
//
9全释、大量的全網(wǎng)唯一的高端技術(shù):【自定義Accumulator装处、按時間比例隨機抽取算法、二次排序浸船、分組取topN妄迁、頁面切片生成以及頁面流匹配算法、Hive與MySQL異構(gòu)數(shù)據(jù)源糟袁、RDD轉(zhuǎn)換為DataFrame判族、注冊和使用臨時表、自定義UDAF聚合函數(shù)(group_concat_distinct)项戴、自定義get_json_object等普通函數(shù)形帮、Spark SQL的高級內(nèi)置函數(shù)(if與case when等)、開窗函數(shù)(ROW_NUMBER)周叮、動態(tài)黑名單機制辩撑、transform、updateStateByKey仿耽、transform與Spark SQL整合合冀、window滑動窗口、高性能寫數(shù)據(jù)庫项贺,等等君躺。】
//
一开缎、大數(shù)據(jù)集群搭建
第1講-課程介紹
第2講-課程環(huán)境搭建:CentOS 6.4集群搭建
第3講-課程環(huán)境搭建:hadoop-2.5.0-cdh5.3.6集群搭建
第4講-課程環(huán)境搭建:hive-0.13.1-cdh5.3.6安裝
第5講-課程環(huán)境搭建:zookeeper-3.4.5-cdh5.3.6集群搭建
第6講-課程環(huán)境搭建:kafka_2.9.2-0.8.1集群搭建
第7講-課程環(huán)境搭建:flume-ng-1.5.0-cdh5.3.6安裝
第8講-課程環(huán)境搭建:離線日志采集流程介紹
第9講-課程環(huán)境搭建:實時數(shù)據(jù)采集流程介紹
第10講-課程環(huán)境搭建:Spark 1.5.1客戶端安裝以及基于YARN的提交模式
二棕叫、用戶訪問session分析:
第11講-用戶訪問session分析:模塊介紹
第12講-用戶訪問session分析:基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)以及大數(shù)據(jù)平臺架構(gòu)介紹
第13講-用戶訪問session分析:需求分析
第14講-用戶訪問session分析:技術(shù)方案設(shè)計
第15講-用戶訪問session分析:數(shù)據(jù)表設(shè)計
第16講-用戶訪問session分析:Eclipse工程搭建以及工具類說明
第17講-用戶訪問session分析:開發(fā)配置管理組件
第18講-用戶訪問session分析:JDBC原理介紹以及增刪改查示范
第19講-用戶訪問session分析:數(shù)據(jù)庫連接池原理
第20講-用戶訪問session分析:單例設(shè)計模式
第21講-用戶訪問session分析:內(nèi)部類以及匿名內(nèi)部類
第22講-用戶訪問session分析:開發(fā)JDBC輔助組件(上)
第23講-用戶訪問session分析:開發(fā)JDBC輔助組件(下)
第24講-用戶訪問session分析:JavaBean概念講解
第25講-用戶訪問session分析:DAO模式講解以及TaskDAO開發(fā)
第26講-用戶訪問session分析:工廠模式講解以及DAOFactory開發(fā)
第27講-用戶訪問session分析:JSON數(shù)據(jù)格式講解以及fastjson介紹
第28講-用戶訪問session分析:Spark上下文構(gòu)建以及模擬數(shù)據(jù)生成
第29講-用戶訪問session分析:【按session粒度進行數(shù)據(jù)聚合】
第30講-用戶訪問session分析:按篩選參數(shù)對session粒度聚合數(shù)據(jù)進行過濾
第31講-用戶訪問session分析:session聚合統(tǒng)計之自定義Accumulator
第32講-用戶訪問session分析:session聚合統(tǒng)計之重構(gòu)實現(xiàn)思路與重構(gòu)session聚合
第33講-用戶訪問session分析:session聚合統(tǒng)計之重構(gòu)過濾進行統(tǒng)計
第34講-用戶訪問session分析:session聚合統(tǒng)計之【計算統(tǒng)計結(jié)果并寫入MySQL】
第35講-用戶訪問session分析:session聚合統(tǒng)計之本地測試
第36講-用戶訪問session分析:session聚合統(tǒng)計之使用Scala實現(xiàn)【自定義Accumulator】
第37講-用戶訪問session分析:session隨機抽取之實現(xiàn)思路分析
第38講-用戶訪問session分析:session隨機抽取之【計算每天每小時session數(shù)量】
第39講-用戶訪問session分析:session隨機抽取之按時間比例隨機抽取算法實現(xiàn)
第40講-用戶訪問session分析:session隨機抽取之根據(jù)隨機索引進行抽取
第41講-用戶訪問session分析:session隨機抽取之獲取抽取session的明細數(shù)據(jù)
第42講-用戶訪問session分析:session隨機抽取之本地測試
第43講-用戶訪問session分析:top10熱門品類之需求回顧以及實現(xiàn)思路分析
第44講-用戶訪問session分析:top10熱門品類之獲取session訪問過的所有品類
第45講-用戶訪問session分析:top10熱門品類之【計算各品類點擊、下單和支付的次數(shù)】
第46講-用戶訪問session分析:top10熱門品類之join品類與點擊下單支付次數(shù)
第47講-用戶訪問session分析:top10熱門品類之自定義二次排序key
第48講-用戶訪問session分析:top10熱門品類之進行二次排序
第49講-用戶訪問session分析:top10【熱門品類之獲取top10品類并寫入MySQL
第50講-用戶訪問session分析:top10熱門品類之本地測試
第51講-用戶訪問session分析:top10熱門品類之使用Scala實現(xiàn)二次排序
第52講-用戶訪問session分析:top10活躍session之開發(fā)準(zhǔn)備以及top10品類RDD生成
第53講-用戶訪問session分析:top10活躍session之計算top10品類被各sessoin點擊的次數(shù)
第54講-用戶訪問session分析:top10活躍session之分組取TopN算法獲取top10活躍session
第55講-用戶訪問session分析:top10活躍session之本地測試以及階段總結(jié)
三奕删、企業(yè)級性能調(diào)優(yōu)俺泣、troubleshooting經(jīng)驗與數(shù)據(jù)傾斜解決方案:
第56講-用戶訪問session分析:性能調(diào)優(yōu)之在實際項目中分配更多資源
第57講-用戶訪問session分析:性能調(diào)優(yōu)之在實際項目中調(diào)節(jié)并行度
第58講-用戶訪問session分析:性能調(diào)優(yōu)之在實際項目中重構(gòu)RDD架構(gòu)以及RDD持久化
第59講-用戶訪問session分析:性能調(diào)優(yōu)之在實際項目中廣播大變量
第60講-用戶訪問session分析:性能調(diào)優(yōu)之在實際項目中使用Kryo序列化
第61講-用戶訪問session分析:性能調(diào)優(yōu)之在實際項目中使用fastutil優(yōu)化數(shù)據(jù)格式
第62講-用戶訪問session分析:性能調(diào)優(yōu)之在實際項目中調(diào)節(jié)數(shù)據(jù)本地化等待時長
第63講-用戶訪問session分析:JVM調(diào)優(yōu)之原理概述以及降低cache操作的內(nèi)存占比
第64講-用戶訪問session分析:JVM調(diào)優(yōu)之調(diào)節(jié)executor堆外內(nèi)存與連接等待時長
第65講-用戶訪問session分析:Shuffle調(diào)優(yōu)之原理概述
第66講-用戶訪問session分析:Shuffle調(diào)優(yōu)之合并map端輸出文件
第67講-用戶訪問session分析:Shuffle調(diào)優(yōu)之調(diào)節(jié)map端內(nèi)存緩沖與reduce端內(nèi)存占比
第68講-用戶訪問session分析:Shuffle調(diào)優(yōu)之HashShuffleManager與SortShuffleManager
第69講-用戶訪問session分析:算子調(diào)優(yōu)之MapPartitions提升Map類操作性能
第70講-用戶訪問session分析:算子調(diào)優(yōu)之filter過后使用coalesce減少分區(qū)數(shù)量
第71講-用戶訪問session分析:算子調(diào)優(yōu)之使用foreachPartition優(yōu)化寫數(shù)據(jù)庫性能
第72講-用戶訪問session分析:算子調(diào)優(yōu)之使用repartition解決Spark SQL低并行度的性能問題
第73講-用戶訪問session分析:算子調(diào)優(yōu)之reduceByKey本地聚合介紹
第74講-用戶訪問session分析:troubleshooting之控制shuffle reduce端緩沖大小以避免OOM
第75講-用戶訪問session分析:troubleshooting之解決JVM GC導(dǎo)致的shuffle文件拉取失敗
第76講-用戶訪問session分析:troubleshooting之解決YARN隊列資源不足導(dǎo)致的application直接失敗
第77講-用戶訪問session分析:troubleshooting之解決各種序列化導(dǎo)致的報錯
第78講-用戶訪問session分析:troubleshooting之解決算子函數(shù)返回NULL導(dǎo)致的問題
第79講-用戶訪問session分析:troubleshooting之解決yarn-client模式導(dǎo)致的網(wǎng)卡流量激增問題
第80講-用戶訪問session分析:troubleshooting之解決yarn-cluster模式的JVM棧內(nèi)存溢出問題
第81講-用戶訪問session分析:troubleshooting之錯誤的持久化方式以及checkpoint的使用
第82講-用戶訪問session分析:數(shù)據(jù)傾斜解決方案之原理以及現(xiàn)象分析
第83講-用戶訪問session分析:數(shù)據(jù)傾斜解決方案之聚合源數(shù)據(jù)以及過濾導(dǎo)致傾斜的key
第84講-用戶訪問session分析:數(shù)據(jù)傾斜解決方案之提高shuffle操作reduce并行度
第85講-用戶訪問session分析:數(shù)據(jù)傾斜解決方案之使用隨機key實現(xiàn)雙重聚合
第86講-用戶訪問session分析:數(shù)據(jù)傾斜解決方案之將reduce join轉(zhuǎn)換為map join
第87講-用戶訪問session分析:數(shù)據(jù)傾斜解決方案之sample采樣傾斜key單獨進行join
第88講-用戶訪問session分析:數(shù)據(jù)傾斜解決方案之使用隨機數(shù)以及擴容表進行join
四、頁面單跳轉(zhuǎn)化率統(tǒng)計:
第89講-頁面單跳轉(zhuǎn)化率:模塊介紹
第90講-頁面單跳轉(zhuǎn)化率:需求分析、技術(shù)方案設(shè)計伏钠、數(shù)據(jù)表設(shè)計
第91講-頁面單跳轉(zhuǎn)化率:編寫基礎(chǔ)代碼
第92講-頁面單跳轉(zhuǎn)化率:頁面切片生成以及頁面流匹配算法實現(xiàn)
第93講-頁面單跳轉(zhuǎn)化率:計算頁面流起始頁面的pv
第94講-頁面單跳轉(zhuǎn)化率:計算頁面切片的轉(zhuǎn)化率
第95講-頁面單跳轉(zhuǎn)化率:將頁面切片轉(zhuǎn)化率寫入MySQL
第96講-頁面單跳轉(zhuǎn)化率:本地測試
第97講-頁面單跳轉(zhuǎn)化率:生產(chǎn)環(huán)境測試
第98講-用戶訪問session分析:生產(chǎn)環(huán)境測試
五横漏、各區(qū)域熱門商品統(tǒng)計:
第99講-各區(qū)域熱門商品統(tǒng)計:模塊介紹
第100講-各區(qū)域熱門商品統(tǒng)計:需求分析、技術(shù)方案設(shè)計以及數(shù)據(jù)設(shè)計
第101講-各區(qū)域熱門商品統(tǒng)計:查詢用戶指定日期范圍內(nèi)的點擊行為數(shù)據(jù)
第102講-各區(qū)域熱門商品統(tǒng)計:異構(gòu)數(shù)據(jù)源之從MySQL中查詢城市數(shù)據(jù)
第103講-各區(qū)域熱門商品統(tǒng)計:關(guān)聯(lián)城市信息以及RDD轉(zhuǎn)換為DataFrame后注冊臨時表
第104講-各區(qū)域熱門商品統(tǒng)計:開發(fā)自定義UDAF聚合函數(shù)之group_concat_distinct()
第105講-各區(qū)域熱門商品統(tǒng)計:查詢各區(qū)域各商品的點擊次數(shù)并拼接城市列表
第106講-各區(qū)域熱門商品統(tǒng)計:關(guān)聯(lián)商品信息并使用自定義get_json_object函數(shù)和內(nèi)置if函數(shù)標(biāo)記經(jīng)營類型
第106講-各區(qū)域熱門商品統(tǒng)計:使用【開窗函數(shù)統(tǒng)計各區(qū)域的top3熱門商品】
第107講-各區(qū)域熱門商品統(tǒng)計:使用內(nèi)置case when函數(shù)給各個區(qū)域打上級別標(biāo)記
第108講-各區(qū)域熱門商品統(tǒng)計:將結(jié)果數(shù)據(jù)寫入MySQL中
第109講-各區(qū)域熱門商品統(tǒng)計:Spark SQL數(shù)據(jù)傾斜解決方案
第110講-各區(qū)域熱門商品統(tǒng)計:生產(chǎn)環(huán)境測試
六熟掂、廣告點擊流量實時統(tǒng)計:
第111講-廣告點擊流量實時統(tǒng)計:需求分析缎浇、技術(shù)方案設(shè)計以及數(shù)據(jù)設(shè)計
第112講-廣告點擊流量實時統(tǒng)計:為【動態(tài)黑名單】實時計算每天各用戶對各廣告的點擊次數(shù)
第113講-廣告點擊流量實時統(tǒng)計:使用高性能方式將實時計算結(jié)果寫入MySQL中
第114講-廣告點擊流量實時統(tǒng)計:過濾出每個batch中的黑名單用戶以生成動態(tài)黑名單
第115講-廣告點擊流量實時統(tǒng)計:基于動態(tài)黑名單進行點擊行為過濾
第116講-廣告點擊流量實時統(tǒng)計:計算每天【各省各城市各廣告的點擊量】
第117講-廣告點擊流量實時統(tǒng)計:計算每天【各省的top3】熱門廣告
第118講-廣告點擊流量實時統(tǒng)計:計算每天各廣告最近1小時滑動窗口內(nèi)的點擊趨勢
第119講-廣告點擊流量實時統(tǒng)計:實現(xiàn)實時計算程序的HA高可用性
第120講-廣告點擊流量實時統(tǒng)計:對實時計算程序進行性能調(diào)優(yōu)
第121講-廣告點擊流量實時統(tǒng)計:生產(chǎn)環(huán)境測試
第122講-課程總結(jié):都學(xué)到了什么?
//
(新升級)Spark 2.0從入門到精通:Scala編程打掘、大數(shù)據(jù)開發(fā)华畏、上百個實戰(zhàn)案例、內(nèi)核源碼深度剖析_北風(fēng)網(wǎng)
http://www.ibeifeng.com/goods-560.html