課程簡(jiǎn)介
當(dāng)下是大數(shù)據(jù)時(shí)代,為構(gòu)建大數(shù)據(jù)平臺(tái),技術(shù)人員需要對(duì)分布式計(jì)算平臺(tái)有一定深入的理解和應(yīng)用。
目標(biāo)收益
本課程將為大家全面而又深入的介紹Spark平臺(tái)的構(gòu)建流程,涉及Spark系統(tǒng)基礎(chǔ)知識(shí),概念及架構(gòu), Spark實(shí)戰(zhàn)技巧,Spark經(jīng)典案例等。
通過(guò)本課程實(shí)踐,幫助學(xué)員對(duì)Spark生態(tài)系統(tǒng)有一個(gè)清晰明了的認(rèn)識(shí);理解Spark系統(tǒng)適用的場(chǎng)景;掌握Spark初中級(jí)應(yīng)用開(kāi)發(fā)技能;搭建穩(wěn)定可靠的Spark集群,滿足生產(chǎn)環(huán)境的標(biāo)準(zhǔn);了解和清楚大數(shù)據(jù)應(yīng)用的幾個(gè)行業(yè)中的經(jīng)典案例,包括阿里巴巴,華為等。
培訓(xùn)對(duì)象
各類 IT/軟件企業(yè)和研發(fā)機(jī)構(gòu)的軟件架構(gòu)師、軟件設(shè)計(jì)師、程序員。對(duì)于懷有設(shè)計(jì)疑問(wèn)和問(wèn)題,需要梳理解答的團(tuán)隊(duì)和個(gè)人,效果最佳。
課程大綱
第一天 大數(shù)據(jù)生態(tài)系統(tǒng)介紹 |
?分布式存儲(chǔ)—HDFS ?分布式并行計(jì)算—MapReduce ?基于Hadoop的數(shù)據(jù)倉(cāng)庫(kù)—Hive ?集群管理工具—ambari ?工作流工具—Oozie ?數(shù)據(jù)的并行采集—Flume ?MapReduce腳本工具—Pig ?與關(guān)系型數(shù)據(jù)庫(kù)之間的數(shù)據(jù)遷移—Sqoop ?資源管理平臺(tái)—Yarn ?數(shù)據(jù)挖掘算法—Mahout ?分布式統(tǒng)一服務(wù)—Zookeeper ?Hadoop安全工具—Knox ?流式計(jì)算框架—Storm ?內(nèi)存計(jì)算框架—Spark ?數(shù)據(jù)挖掘框架—Mahout、Mllib和Graphx |
Spark生態(tài)介紹 |
?Mapreduce、storm和spark模型的比較和使用場(chǎng)景介紹 ?Spark產(chǎn)生背景 ?Spark(內(nèi)存計(jì)算框架) ?SparkSteaming(流式計(jì)算框架) ?Spark SQL(ad-hoc) ?Mllib(MachineLearning) ?GraphX(bagel將被代) ?DlinkDB介紹 ?SparkR介紹 |
Spark運(yùn)行架構(gòu)和解析 |
?Spark的運(yùn)行架構(gòu) 1.基本術(shù)語(yǔ) 2.運(yùn)行架構(gòu) 3.Spark on Standalone運(yùn)行過(guò)程 4.Spark on YARN 運(yùn)行過(guò)程 ?Spark應(yīng)用程序的配置 ?Spark運(yùn)行實(shí)例解析 1.Spark on Standalone實(shí)例解析 Spark on YARN實(shí)例解析 |
Spark編程模型和解析 |
?python開(kāi)發(fā)環(huán)境搭建 ?Spark的編程模型 ?Spark編程模型解析 ?Partition實(shí)現(xiàn)機(jī)制 ?RDD的特點(diǎn)、操作、依賴關(guān)系 ?Transformation RDD詳解 ?Action RDD詳解 ?Spark的累加器詳解 ?Spark的廣播變量詳解 ?Spark容錯(cuò)機(jī)制 — lineage和checkpoint詳解 |
Spark2.0的特性 |
?Spark 2.0 和1.6的區(qū)別 ?SparkSession詳解 ?StructedStreaming原理 ?DateFrame和DataSet的優(yōu)化 |
文件讀寫(xiě)操作 |
?Spark支持哪些文件的讀寫(xiě) ?Spark讀Hive的數(shù)據(jù) ?Spark讀Json格式的數(shù)據(jù) ?Spark讀Hbase的數(shù)據(jù) |
Spark應(yīng)用優(yōu)化 |
?partition優(yōu)化詳解 ?文件壓縮格式(ORC、Parquet) ?持久化類型選擇 ?靈活使用Join操作 ?Spark配置參數(shù)的優(yōu)化 ?RDD的優(yōu)化 |
第二天 Spark SQL原理和實(shí)踐 |
?Spark SQL原理 1.Spark SQL的Catalyst優(yōu)化器 2.Spark SQL內(nèi)核 3.Spark SQL和Hive ?DataFrame和DataSet架構(gòu) ?Fataframe、DataSet和Spark SQL的比較 ?SparkSQL parquet格式實(shí)戰(zhàn) ?Spark SQL的實(shí)例和編程 1.Spark SQL的實(shí)例操作demo 2. Spark SQL的編程 |
Spark 數(shù)據(jù)挖掘 |
?SparkMllib和SparkR原理 ?基于Spark Mllib和SparkR數(shù)據(jù)挖掘的流程 1.?dāng)?shù)據(jù)的抽取 2.?dāng)?shù)據(jù)降維和升維 3.稠密向量和稀疏向量數(shù)據(jù)處理 4.基于DataFrame和DataSet的數(shù)據(jù)挖掘過(guò) SparkMllib和SparkR挖掘?qū)崙?zhàn) 5.聚類算法Kmeans的實(shí)戰(zhàn)和應(yīng)用場(chǎng)景 6.決策樹(shù)算法的實(shí)戰(zhàn)和應(yīng)用場(chǎng)景 7.邏輯回歸算法實(shí)戰(zhàn)和應(yīng)用場(chǎng)景 8.隨機(jī)森林算法實(shí)戰(zhàn)和應(yīng)用場(chǎng)景 9. 協(xié)同過(guò)濾推薦算法實(shí)戰(zhàn)案例 |
Hands-on項(xiàng)目實(shí)操 |
?Spark SQL項(xiàng)目實(shí)戰(zhàn)(電信行業(yè)) —項(xiàng)目需求 —數(shù)據(jù)ELT —SparkSQL和Hive整合 —SparkSQL內(nèi)存表的使用 —JDBC連接SparkSQL ?Spark Mllib項(xiàng)目實(shí)戰(zhàn)(電信行業(yè)) —Spark Mllib挖掘的步驟 —數(shù)據(jù)去噪 —模型的選擇 —基于校園用戶的數(shù)據(jù)建模案例 —模型的保存和優(yōu)化 |
案例詳解 |
?基于spark日志分析 ?Spark SQL實(shí)戰(zhàn)(證券業(yè)) ?Spark在大型互聯(lián)網(wǎng)使用案例分享 ?200+Spark集群的案例介紹 |
第一天 大數(shù)據(jù)生態(tài)系統(tǒng)介紹 ?分布式存儲(chǔ)—HDFS ?分布式并行計(jì)算—MapReduce ?基于Hadoop的數(shù)據(jù)倉(cāng)庫(kù)—Hive ?集群管理工具—ambari ?工作流工具—Oozie ?數(shù)據(jù)的并行采集—Flume ?MapReduce腳本工具—Pig ?與關(guān)系型數(shù)據(jù)庫(kù)之間的數(shù)據(jù)遷移—Sqoop ?資源管理平臺(tái)—Yarn ?數(shù)據(jù)挖掘算法—Mahout ?分布式統(tǒng)一服務(wù)—Zookeeper ?Hadoop安全工具—Knox ?流式計(jì)算框架—Storm ?內(nèi)存計(jì)算框架—Spark ?數(shù)據(jù)挖掘框架—Mahout、Mllib和Graphx |
Spark生態(tài)介紹 ?Mapreduce、storm和spark模型的比較和使用場(chǎng)景介紹 ?Spark產(chǎn)生背景 ?Spark(內(nèi)存計(jì)算框架) ?SparkSteaming(流式計(jì)算框架) ?Spark SQL(ad-hoc) ?Mllib(MachineLearning) ?GraphX(bagel將被代) ?DlinkDB介紹 ?SparkR介紹 |
Spark運(yùn)行架構(gòu)和解析 ?Spark的運(yùn)行架構(gòu) 1.基本術(shù)語(yǔ) 2.運(yùn)行架構(gòu) 3.Spark on Standalone運(yùn)行過(guò)程 4.Spark on YARN 運(yùn)行過(guò)程 ?Spark應(yīng)用程序的配置 ?Spark運(yùn)行實(shí)例解析 1.Spark on Standalone實(shí)例解析 Spark on YARN實(shí)例解析 |
Spark編程模型和解析 ?python開(kāi)發(fā)環(huán)境搭建 ?Spark的編程模型 ?Spark編程模型解析 ?Partition實(shí)現(xiàn)機(jī)制 ?RDD的特點(diǎn)、操作、依賴關(guān)系 ?Transformation RDD詳解 ?Action RDD詳解 ?Spark的累加器詳解 ?Spark的廣播變量詳解 ?Spark容錯(cuò)機(jī)制 — lineage和checkpoint詳解 |
Spark2.0的特性 ?Spark 2.0 和1.6的區(qū)別 ?SparkSession詳解 ?StructedStreaming原理 ?DateFrame和DataSet的優(yōu)化 |
文件讀寫(xiě)操作 ?Spark支持哪些文件的讀寫(xiě) ?Spark讀Hive的數(shù)據(jù) ?Spark讀Json格式的數(shù)據(jù) ?Spark讀Hbase的數(shù)據(jù) |
Spark應(yīng)用優(yōu)化 ?partition優(yōu)化詳解 ?文件壓縮格式(ORC、Parquet) ?持久化類型選擇 ?靈活使用Join操作 ?Spark配置參數(shù)的優(yōu)化 ?RDD的優(yōu)化 |
第二天 Spark SQL原理和實(shí)踐 ?Spark SQL原理 1.Spark SQL的Catalyst優(yōu)化器 2.Spark SQL內(nèi)核 3.Spark SQL和Hive ?DataFrame和DataSet架構(gòu) ?Fataframe、DataSet和Spark SQL的比較 ?SparkSQL parquet格式實(shí)戰(zhàn) ?Spark SQL的實(shí)例和編程 1.Spark SQL的實(shí)例操作demo 2. Spark SQL的編程 |
Spark 數(shù)據(jù)挖掘 ?SparkMllib和SparkR原理 ?基于Spark Mllib和SparkR數(shù)據(jù)挖掘的流程 1.?dāng)?shù)據(jù)的抽取 2.?dāng)?shù)據(jù)降維和升維 3.稠密向量和稀疏向量數(shù)據(jù)處理 4.基于DataFrame和DataSet的數(shù)據(jù)挖掘過(guò) SparkMllib和SparkR挖掘?qū)崙?zhàn) 5.聚類算法Kmeans的實(shí)戰(zhàn)和應(yīng)用場(chǎng)景 6.決策樹(shù)算法的實(shí)戰(zhàn)和應(yīng)用場(chǎng)景 7.邏輯回歸算法實(shí)戰(zhàn)和應(yīng)用場(chǎng)景 8.隨機(jī)森林算法實(shí)戰(zhàn)和應(yīng)用場(chǎng)景 9. 協(xié)同過(guò)濾推薦算法實(shí)戰(zhàn)案例 |
Hands-on項(xiàng)目實(shí)操 ?Spark SQL項(xiàng)目實(shí)戰(zhàn)(電信行業(yè)) —項(xiàng)目需求 —數(shù)據(jù)ELT —SparkSQL和Hive整合 —SparkSQL內(nèi)存表的使用 —JDBC連接SparkSQL ?Spark Mllib項(xiàng)目實(shí)戰(zhàn)(電信行業(yè)) —Spark Mllib挖掘的步驟 —數(shù)據(jù)去噪 —模型的選擇 —基于校園用戶的數(shù)據(jù)建模案例 —模型的保存和優(yōu)化 |
案例詳解 ?基于spark日志分析 ?Spark SQL實(shí)戰(zhàn)(證券業(yè)) ?Spark在大型互聯(lián)網(wǎng)使用案例分享 ?200+Spark集群的案例介紹 |