當(dāng)下是大數(shù)據(jù)時代,為構(gòu)建大數(shù)據(jù)平臺,技術(shù)人員需要對分布式計算平臺有一定深入的理解和應(yīng)用。MapReduce作為一個經(jīng)典的分布式計算框架,已經(jīng)廣為人知,且得到了廣泛的應(yīng)用,但MapReduce自身存在很多問題,包括迭代式計算和DAG計算等類型的數(shù)據(jù)挖掘與機(jī)器學(xué)習(xí)算法性能低下,不能很好地利用內(nèi)存資源,編程復(fù)雜度較高等。為了克服MapReduce的眾多問題,新型計算框架出現(xiàn)了。Spark已經(jīng)被不少互聯(lián)網(wǎng)公司采用,大部分?jǐn)?shù)據(jù)挖掘算法和迭代式算法在逐步MapReduce平臺遷移到Spark平臺中,包括阿里巴巴,騰訊,百度,優(yōu)酷土豆,360,支付寶等互聯(lián)網(wǎng)公司已經(jīng)在線上產(chǎn)品中使用spark,且取得了令人滿意的效果,另外,部分省份的運(yùn)營商也正在嘗試使用spark解決數(shù)據(jù)挖掘和分析問題,部分銀行,如工商銀行,也正在嘗試spark平臺。
1、深入理解Spark計算原理和編程模型,掌握SparkCore和SparkSql、SparkStreaming等上層系統(tǒng)的結(jié)合方式
2、深入掌握SparkCore、SparkSql使用調(diào)優(yōu)技巧
3、深入掌握SparkStreaming和SparkMllib使用和調(diào)優(yōu)技巧
4、深入掌握Spark和其他組件的結(jié)合使用
5、了解Spark與MapReduce分布式計算模型的區(qū)別和各自適合的使用場景。
6、能夠使用java、python和scala進(jìn)行spark應(yīng)用開發(fā)(如果要講解三種語言開發(fā)spark,工作量會非常大,建議只講解一種(可以根據(jù)企業(yè)的要求來定,)
7、熟練使用spark、sparkstreaming、sparkSQL、sparkmllib
8、深入了解spark在大型互聯(lián)網(wǎng)的架構(gòu)和使用場景
本課程基于最新的spark2講解,內(nèi)容涵蓋了企業(yè)中大數(shù)據(jù)處理的四大場景:
離線批處理、流式計算、SQL處理、機(jī)器學(xué)習(xí)。Spark是一個廣泛應(yīng)用的分布式內(nèi)存計算模型,旨在大幅提升的迭代算法和交互低延遲數(shù)據(jù)挖掘的性能。Spark更適合于迭代運(yùn)算比較多的ML和DM運(yùn)算,onestackrulethemall!Spark號稱一個平臺可以適合所有的應(yīng)用,如SparkSql可以處理結(jié)構(gòu)化數(shù)據(jù),SparkStreaming旨在提供實時的計算能力,而SparkMllib則提供了豐富機(jī)器學(xué)習(xí)算法庫。
模塊一Spark2.1概述
1、Spark產(chǎn)生背景,包括mapreduce缺陷,多計算框架并存等
2、Spark基本特點
3、Spark版本演化
4、Spark核心概念,包括RDD,transformation,action,cache等
5、Spark生態(tài)系統(tǒng),包括Spark生態(tài)系統(tǒng)構(gòu)成,以及與Hadoop生態(tài)系統(tǒng)關(guān)系
6、Spark在互聯(lián)網(wǎng)公司中的地位與應(yīng)用
7、介紹當(dāng)前互聯(lián)網(wǎng)公司的Spark應(yīng)用案例
8、Spark集群搭建,包括測試集群搭建和生產(chǎn)環(huán)境中集群搭建方法,并親手演示整個過程
9、背景知識補(bǔ)充介紹
模塊二SparkCore
Spark程序設(shè)計與企業(yè)級應(yīng)用案例
1、Spark運(yùn)行模式介紹
Spark運(yùn)行組件構(gòu)成,spark運(yùn)行模式(local、standalone、mesos/yarn等)
2、Spark開發(fā)環(huán)境構(gòu)建
集成開發(fā)環(huán)境選擇,親手演示spark程序開發(fā)與調(diào)試,spark運(yùn)行
3、常見transformation與action用法
介紹常見transformation與action使用方法,以及代碼片段剖析
4、常見控制函數(shù)介紹
包括cache、broadcast、accumulator等
5、Spark應(yīng)用案例:點擊流日志分析
包括:背景介紹,數(shù)據(jù)導(dǎo)入,數(shù)據(jù)分析,常見Sparktransformation和action用法在線演示
模塊三Spark
內(nèi)部原理剖析與源碼閱讀
1、Spark運(yùn)行模式剖析
深入分析spark運(yùn)行模式,包括local,standalone以及sparkonyarn
2、Spark運(yùn)行流程剖析
包括spark邏輯查詢計劃,物理查詢計劃以及分布式執(zhí)行
3、Sparkshuffle剖析
深入介紹sparkshuffle的實現(xiàn),主要介紹hash-based和sort-based兩種實現(xiàn)
4、Spark源碼閱讀
Spark源碼構(gòu)成以及閱讀方法
模塊三Spark
程序調(diào)優(yōu)技巧
1、數(shù)據(jù)存儲格式調(diào)優(yōu)數(shù)據(jù)存儲格式選擇,數(shù)據(jù)壓縮算法選擇等
2、資源調(diào)優(yōu)
如何設(shè)置合理的executor、cpu和內(nèi)存數(shù)目,YARN多租戶調(diào)度器合理設(shè)置,啟用YARN的標(biāo)簽調(diào)度策略等
3、程序參數(shù)調(diào)優(yōu)
介紹常見的調(diào)優(yōu)參數(shù),包括避免不必要的文件分發(fā),調(diào)整任務(wù)并發(fā)度,提高數(shù)據(jù)本地性,JVM參數(shù)調(diào)優(yōu),序列化等
4、程序?qū)崿F(xiàn)調(diào)優(yōu)
如何選擇最合適的transformation與action函數(shù)
5、調(diào)優(yōu)案例分享與演示
演示一個調(diào)優(yōu)案例,如何將一個spark程序的性能逐步優(yōu)化20倍以上。
模塊四Sparksql2.1
SparkSQL基本原理
1、SparkSQL是什么
2、SparkSQL基本原理
3、SparkDataframe與DataSet
4、SparkSQL與SparkCore的關(guān)系
模塊五SparkSQL
程序設(shè)計與企業(yè)級應(yīng)用案例
1、SparkSQL程序設(shè)計
a.如何訪問MySQL、HDFS等數(shù)據(jù)源,如何處理parquet格式數(shù)據(jù)
b.常用的DSL語法有哪些,如何使用
c.SparkSQL調(diào)優(yōu)技巧
d.數(shù)據(jù)傾斜解決方案
模塊六SparkStreaming程序設(shè)計及應(yīng)用案例
1、SparkStreaming基本原理
a.SparkStreaming是什么
b.SparkStreaming基本原理
c.StructuredStreaming
d.SparkStreaming編程接口介紹
e.SparkStreaming應(yīng)用案例
2、SparkStreaming程序設(shè)計與企業(yè)級應(yīng)用案例
a.常見流式數(shù)據(jù)處理模式
b.SparkStreaming與Kafka交互
c.SparkStreaming與Redis交互
d.SparkStreaming部署與運(yùn)行
e.SparkStreaming企業(yè)級案例:用戶行為實時分析系統(tǒng)
模塊七SparkMllib
SparkMLlib
企業(yè)級案例
1.SparkMLlib簡介
2.數(shù)據(jù)表示方式
3.MLlib中的聚類、分類和推薦算法
4.如何使用MLlib的算法
5.SparkMLLib企業(yè)級案例:用戶畫像之性別預(yù)測
模塊八Spark綜合案例
信用評分實時分析系統(tǒng)
1.背景介紹
2.什么是Lambdaarchitecture
3.利用SparkCore+MLlib+構(gòu)建離線處理
4.利用flume+SparkStreaming+Redis構(gòu)建實時處理線
5.整合批處理和實時處理線
模塊八Spark綜合案例
信用評分實時分析系統(tǒng)
1.背景介紹
2.什么是Lambdaarchitecture
3.利用SparkCore+MLlib+構(gòu)建離線處理
4.利用flume+SparkStreaming+Redis構(gòu)建實時處理線
5.整合批處理和實時處理線
模塊九典型項目
案例實戰(zhàn)
基于spark日志分析
個性化推薦系統(tǒng):帶你揭開其神秘面紗
在線投放引擎
揭開淘寶點擊推薦系統(tǒng)的神秘面紗
淘寶數(shù)據(jù)服務(wù)架構(gòu)—實時計算平臺
張老師:阿里大數(shù)據(jù)高級專家,國內(nèi)資深的Spark、Hadoop技術(shù)專家、虛擬化專家,對HDFS、MapReduce、HBase、Hive、Mahout、Storm、spark和openTSDB等Hadoop生態(tài)系統(tǒng)中的技術(shù)進(jìn)行了多年的深入的研究,更主要的是這些技術(shù)在大量的實際項目中得到廣泛的應(yīng)用,因此在Hadoop開發(fā)和運(yùn)維方面積累了豐富的項目實施經(jīng)驗。近年主要典型的項目有:某電信集團(tuán)網(wǎng)絡(luò)優(yōu)化、中國移動某省移動公司請賬單系統(tǒng)和某省移動詳單實時查詢系統(tǒng)、中國銀聯(lián)大數(shù)據(jù)數(shù)據(jù)票據(jù)詳單平臺、某大型銀行大數(shù)據(jù)記錄系統(tǒng)、某大型通信運(yùn)營商全國用戶上網(wǎng)記錄、某省交通部門違章系統(tǒng)、某區(qū)域醫(yī)療大數(shù)據(jù)應(yīng)用項目、互聯(lián)網(wǎng)公共數(shù)據(jù)大云(DAAS)和構(gòu)建游戲云(WebGameDaas)平臺項目等。
各地企事業(yè)單位大數(shù)據(jù)產(chǎn)業(yè)相關(guān)人員,運(yùn)營商 IT信息化和運(yùn)維工程師相關(guān)人員,金融業(yè)信息化相關(guān)人員,或?qū)Υ髷?shù)據(jù)spark感興趣的相關(guān)人員。