課程簡(jiǎn)介
Hadoop體系是目前各行業(yè)做大數(shù)據(jù)分析最常用的技術(shù)軟件架構(gòu),它涵蓋了HDFS,YARN,Spark,F(xiàn)link,HBase等著名大數(shù)據(jù)組件。掌握Hadoop是大數(shù)據(jù)從業(yè)人員的必經(jīng)之路,本課程講授了以上幾個(gè)主要技術(shù)的核心知識(shí)點(diǎn),并結(jié)合企業(yè)最佳實(shí)踐安排了實(shí)戰(zhàn)應(yīng)用環(huán)節(jié),為學(xué)員打造了從學(xué)習(xí)到實(shí)戰(zhàn)的成長(zhǎng)閉環(huán)。
目標(biāo)收益
學(xué)員通過(guò)實(shí)踐本課程,能夠熟悉大數(shù)據(jù)行業(yè)和分布式系統(tǒng)的技術(shù)核心知識(shí)點(diǎn);通過(guò)Hadoop,Spark,HBase知識(shí)的學(xué)習(xí),能夠掌握大數(shù)據(jù)應(yīng)用的開(kāi)發(fā)和運(yùn)維能力,并能夠掌握海量數(shù)據(jù)處理的編碼和性能調(diào)優(yōu)經(jīng)驗(yàn)。讓學(xué)員能夠從0到1獨(dú)立完成Hadoop,Spark,HBase分布式系統(tǒng)的搭建;熟悉中國(guó)Top5互聯(lián)網(wǎng)企業(yè)(如阿里巴巴,騰訊)的大數(shù)據(jù)平臺(tái)中Hadoop,Spark的技術(shù)應(yīng)用和最佳實(shí)踐。
培訓(xùn)對(duì)象
本課程不僅適合大數(shù)據(jù) Hadoop, Spark,HBase 從業(yè)人員,同時(shí)也適合熱愛(ài)或者希望未來(lái)從事大數(shù)據(jù)相關(guān)工作的在校學(xué)生,軟件開(kāi)發(fā)工程師,運(yùn)維工程師以及架構(gòu)師學(xué)習(xí)。通過(guò)本課程,學(xué)員將能夠快速熟悉和掌握大數(shù)據(jù)利器,在生產(chǎn)中解決實(shí)際問(wèn)題。
課程大綱
大數(shù)據(jù)技術(shù)在企業(yè)的應(yīng)用 |
1.1 Hadoop體系軟件架構(gòu) 1.2 企業(yè)應(yīng)用Hadoop的技術(shù)架構(gòu) 2. Hadoop體系技術(shù)架構(gòu)介紹 2.1 海量數(shù)據(jù)存儲(chǔ)技術(shù):HDFS 2.2 海量數(shù)據(jù)計(jì)算技術(shù):Spark,F(xiàn)link,Presto,Hive 2.3 資源調(diào)度:YARN,Mesos 2.4 任務(wù)調(diào)度:Azkaban 2.5 日志搜索:Elasticsearch 2.6 數(shù)據(jù)收集,傳輸:Beats,F(xiàn)lume |
Hadoop存儲(chǔ)與離線計(jì)算 |
1. HDFS 1.1 架構(gòu)原理 1.2 NameNode, DataNode, JournalNode 工作原理 1.3 FSimage和Edit文件 1.4 文件讀寫(xiě)流程 1.5 HDFS的副本機(jī)制 1.6 HDFS Shell操作 1.7 Java API操作 1.8 如何實(shí)現(xiàn)HDFS 高可用 2. MapReduce 2.1 核心思想 2.2 編程模型:Map與Reduce基本用法 2.3 用MapReduce編程實(shí)現(xiàn) TopN 排序、 2.4 MapReduce Join算法 2.5 數(shù)據(jù)傾斜與優(yōu)化 3.YARN 3.1 架構(gòu)原理 3.2 NodeManger,ResourceManager, ApplicationMaster工作原理 3.3 HA高可用 3.4 MapReduce ON YARN 3.5 Yarn的資源調(diào)度機(jī)制 3.6 YARN集群提交任務(wù) 4. Hadoop安裝流程 4.1 單機(jī)版(偽分布式)Hadoop集群安裝 4.2 分布式Hadoop集群安裝 |
Spark流式與分布式SQL計(jì)算引擎 |
1.Spark Core 1.1 RDD 編程模型 1.2 分布式運(yùn)行架構(gòu):Spark Standalone、Spark ON YARN 1.3 spark-shell、spark-submit,spark-sql的使用方法 1.4 RDD Action和Transformation操作. 2.Spark Streaming 2.1 Spark Streaming原理 2.2 Spark流式處理架構(gòu) 2.3 DStream的特點(diǎn) 2.4 Dstream的操作和RDD的區(qū)別 2.4 SatefulRDD和windowRDD實(shí)戰(zhàn) 2.5 Kafka+Spark Steaming實(shí)戰(zhàn) 2.6 Spark Streaming的優(yōu)化 2.7 Kafka+Spark Streaming實(shí)例 2.8 實(shí)現(xiàn)自定義的數(shù)據(jù)源 3. Spark SQL 3.1 Spark SQL原理 3.2 Spark SQL的Catalyst優(yōu)化器 3.3 Spark SQL內(nèi)核 3.4 Spark SQL和Hive 3.5 DataFrame和DataSet架構(gòu) 3.6 Dataframe、DataSet和Spark SQL的比較 3.7 SparkSQL parquet格式實(shí)戰(zhàn) 3.8 Spark SQL的實(shí)例和編程 3.9 Spark SQL的實(shí)例操作demo 3.10 Spark SQL的編程 4. Spark優(yōu)化 4.1 Spark SQL的優(yōu)化 4.2 基于Spark計(jì)算的文件格式選擇 4.3 Spark on Yarn的優(yōu)化 4.4 Spark SQL執(zhí)行計(jì)劃的優(yōu)化 4.5 Spark 內(nèi)存管理的機(jī)制 5. Spark綜合實(shí)戰(zhàn): 4.1 flume+Kafka+Spark Streaming+MySQL集成開(kāi)發(fā). 4.2. MySQL + HBase 實(shí)現(xiàn)多源聚合SQL查詢引擎。 |
HBase 與NoSQL |
1. NoSQL認(rèn)知 1.1 海量數(shù)據(jù)與NoSQL 1.2 為什么要用HBase 2. HBase Shell基本操作 2.1 用create命令建表 2.2 用list命令來(lái)查看庫(kù)中有哪些表 2.3 用describe命令來(lái)查看表屬性 2.4 用put命令來(lái)插入數(shù)據(jù) 2.5 用scan來(lái)查看表數(shù)據(jù) 2.6 用get來(lái)獲取單元格數(shù)據(jù) 2.7 用delete來(lái)刪除數(shù)據(jù) 2.8 deleteall來(lái)刪除整行記錄 2.9 用disable來(lái)停用表 2.10 用drop來(lái)刪除表 3. 使用HBase API 3.1 HTable類和Table接口 3.2 put方法 3.3 append方法 3.4 increment方法 3.5 get方法 3.6 exists 方法 3.7 delete方法 3.8 mutation方法 |
HBase進(jìn)階掌握 |
1. 深入HBase原理 1.1 數(shù)據(jù)模型 1.2 HBase是怎么存儲(chǔ)數(shù)據(jù)的 1.3 預(yù)寫(xiě)日志 WAL 1.4 MemStore 1.5 HFile( StoreFile) 1.6 KeyValue類 1.7 數(shù)據(jù)讀寫(xiě) 1.8 Region 2. 過(guò)濾器與協(xié)處理器 2.1 過(guò)濾器 2.1.1 過(guò)濾器快速入門 2.1.2 比較運(yùn)算快速入門 2.1.3 分頁(yè)過(guò)濾器 2.1.4 過(guò)濾器列表 2.1.5 行鍵過(guò)濾器 2.1.6 列過(guò)濾器 2.1.7 單元格過(guò)濾器 2.1.8 裝飾過(guò)濾器 2.2 協(xié)處理器(coprocessor) 2.2.1 協(xié)處理器家族 2.2.2 快速入門 2.2.3 如何加載 2.2.4 協(xié)處理器核心類 2.2.5 觀察者(Observers) 2.2.6 終端程序(EndPoint) 3. HBase 性能調(diào)優(yōu) 3.1 Master和RegionServer的JVM調(diào)優(yōu) 3.2 Region的拆分 3.3 Region的合并(merge) 3.4 WAL的優(yōu)化 3.5 BlockCache的優(yōu)化 3.6 Memstore的優(yōu)化 3.7 HFile(StoreFile)的合并(Compaction) 4. HBase 實(shí)戰(zhàn) 4.1 Spark與HBase結(jié)合實(shí)現(xiàn)廣告展現(xiàn)流與廣告點(diǎn)擊流關(guān)聯(lián) |
企業(yè)大數(shù)據(jù)實(shí)戰(zhàn) |
1. 電商運(yùn)營(yíng)實(shí)時(shí)分析系統(tǒng) 1.1 實(shí)時(shí)統(tǒng)計(jì)指標(biāo) 1.2 聚合統(tǒng)計(jì)實(shí)現(xiàn) 2. 廣告點(diǎn)擊率統(tǒng)計(jì)系統(tǒng) 2.1 廣告展示,點(diǎn)擊模型,CTR指標(biāo) 2.2 展示流和點(diǎn)擊流的關(guān)聯(lián)方式 2.3 Spark + HBase + MySQL的架構(gòu)和實(shí)現(xiàn) 3. 企業(yè)級(jí)實(shí)時(shí)數(shù)據(jù)倉(cāng)庫(kù) 3.1 數(shù)據(jù)倉(cāng)庫(kù)模型設(shè)計(jì) 3.2 數(shù)據(jù)倉(cāng)庫(kù)的實(shí)時(shí)ETL 3.3 數(shù)據(jù)倉(cāng)庫(kù)的聚合表 3.4 數(shù)據(jù)倉(cāng)庫(kù)的緯度表關(guān)聯(lián) |
大數(shù)據(jù)技術(shù)在企業(yè)的應(yīng)用 1.1 Hadoop體系軟件架構(gòu) 1.2 企業(yè)應(yīng)用Hadoop的技術(shù)架構(gòu) 2. Hadoop體系技術(shù)架構(gòu)介紹 2.1 海量數(shù)據(jù)存儲(chǔ)技術(shù):HDFS 2.2 海量數(shù)據(jù)計(jì)算技術(shù):Spark,F(xiàn)link,Presto,Hive 2.3 資源調(diào)度:YARN,Mesos 2.4 任務(wù)調(diào)度:Azkaban 2.5 日志搜索:Elasticsearch 2.6 數(shù)據(jù)收集,傳輸:Beats,F(xiàn)lume |
Hadoop存儲(chǔ)與離線計(jì)算 1. HDFS 1.1 架構(gòu)原理 1.2 NameNode, DataNode, JournalNode 工作原理 1.3 FSimage和Edit文件 1.4 文件讀寫(xiě)流程 1.5 HDFS的副本機(jī)制 1.6 HDFS Shell操作 1.7 Java API操作 1.8 如何實(shí)現(xiàn)HDFS 高可用 2. MapReduce 2.1 核心思想 2.2 編程模型:Map與Reduce基本用法 2.3 用MapReduce編程實(shí)現(xiàn) TopN 排序、 2.4 MapReduce Join算法 2.5 數(shù)據(jù)傾斜與優(yōu)化 3.YARN 3.1 架構(gòu)原理 3.2 NodeManger,ResourceManager, ApplicationMaster工作原理 3.3 HA高可用 3.4 MapReduce ON YARN 3.5 Yarn的資源調(diào)度機(jī)制 3.6 YARN集群提交任務(wù) 4. Hadoop安裝流程 4.1 單機(jī)版(偽分布式)Hadoop集群安裝 4.2 分布式Hadoop集群安裝 |
Spark流式與分布式SQL計(jì)算引擎 1.Spark Core 1.1 RDD 編程模型 1.2 分布式運(yùn)行架構(gòu):Spark Standalone、Spark ON YARN 1.3 spark-shell、spark-submit,spark-sql的使用方法 1.4 RDD Action和Transformation操作. 2.Spark Streaming 2.1 Spark Streaming原理 2.2 Spark流式處理架構(gòu) 2.3 DStream的特點(diǎn) 2.4 Dstream的操作和RDD的區(qū)別 2.4 SatefulRDD和windowRDD實(shí)戰(zhàn) 2.5 Kafka+Spark Steaming實(shí)戰(zhàn) 2.6 Spark Streaming的優(yōu)化 2.7 Kafka+Spark Streaming實(shí)例 2.8 實(shí)現(xiàn)自定義的數(shù)據(jù)源 3. Spark SQL 3.1 Spark SQL原理 3.2 Spark SQL的Catalyst優(yōu)化器 3.3 Spark SQL內(nèi)核 3.4 Spark SQL和Hive 3.5 DataFrame和DataSet架構(gòu) 3.6 Dataframe、DataSet和Spark SQL的比較 3.7 SparkSQL parquet格式實(shí)戰(zhàn) 3.8 Spark SQL的實(shí)例和編程 3.9 Spark SQL的實(shí)例操作demo 3.10 Spark SQL的編程 4. Spark優(yōu)化 4.1 Spark SQL的優(yōu)化 4.2 基于Spark計(jì)算的文件格式選擇 4.3 Spark on Yarn的優(yōu)化 4.4 Spark SQL執(zhí)行計(jì)劃的優(yōu)化 4.5 Spark 內(nèi)存管理的機(jī)制 5. Spark綜合實(shí)戰(zhàn): 4.1 flume+Kafka+Spark Streaming+MySQL集成開(kāi)發(fā). 4.2. MySQL + HBase 實(shí)現(xiàn)多源聚合SQL查詢引擎。 |
HBase 與NoSQL 1. NoSQL認(rèn)知 1.1 海量數(shù)據(jù)與NoSQL 1.2 為什么要用HBase 2. HBase Shell基本操作 2.1 用create命令建表 2.2 用list命令來(lái)查看庫(kù)中有哪些表 2.3 用describe命令來(lái)查看表屬性 2.4 用put命令來(lái)插入數(shù)據(jù) 2.5 用scan來(lái)查看表數(shù)據(jù) 2.6 用get來(lái)獲取單元格數(shù)據(jù) 2.7 用delete來(lái)刪除數(shù)據(jù) 2.8 deleteall來(lái)刪除整行記錄 2.9 用disable來(lái)停用表 2.10 用drop來(lái)刪除表 3. 使用HBase API 3.1 HTable類和Table接口 3.2 put方法 3.3 append方法 3.4 increment方法 3.5 get方法 3.6 exists 方法 3.7 delete方法 3.8 mutation方法 |
HBase進(jìn)階掌握 1. 深入HBase原理 1.1 數(shù)據(jù)模型 1.2 HBase是怎么存儲(chǔ)數(shù)據(jù)的 1.3 預(yù)寫(xiě)日志 WAL 1.4 MemStore 1.5 HFile( StoreFile) 1.6 KeyValue類 1.7 數(shù)據(jù)讀寫(xiě) 1.8 Region 2. 過(guò)濾器與協(xié)處理器 2.1 過(guò)濾器 2.1.1 過(guò)濾器快速入門 2.1.2 比較運(yùn)算快速入門 2.1.3 分頁(yè)過(guò)濾器 2.1.4 過(guò)濾器列表 2.1.5 行鍵過(guò)濾器 2.1.6 列過(guò)濾器 2.1.7 單元格過(guò)濾器 2.1.8 裝飾過(guò)濾器 2.2 協(xié)處理器(coprocessor) 2.2.1 協(xié)處理器家族 2.2.2 快速入門 2.2.3 如何加載 2.2.4 協(xié)處理器核心類 2.2.5 觀察者(Observers) 2.2.6 終端程序(EndPoint) 3. HBase 性能調(diào)優(yōu) 3.1 Master和RegionServer的JVM調(diào)優(yōu) 3.2 Region的拆分 3.3 Region的合并(merge) 3.4 WAL的優(yōu)化 3.5 BlockCache的優(yōu)化 3.6 Memstore的優(yōu)化 3.7 HFile(StoreFile)的合并(Compaction) 4. HBase 實(shí)戰(zhàn) 4.1 Spark與HBase結(jié)合實(shí)現(xiàn)廣告展現(xiàn)流與廣告點(diǎn)擊流關(guān)聯(lián) |
企業(yè)大數(shù)據(jù)實(shí)戰(zhàn) 1. 電商運(yùn)營(yíng)實(shí)時(shí)分析系統(tǒng) 1.1 實(shí)時(shí)統(tǒng)計(jì)指標(biāo) 1.2 聚合統(tǒng)計(jì)實(shí)現(xiàn) 2. 廣告點(diǎn)擊率統(tǒng)計(jì)系統(tǒng) 2.1 廣告展示,點(diǎn)擊模型,CTR指標(biāo) 2.2 展示流和點(diǎn)擊流的關(guān)聯(lián)方式 2.3 Spark + HBase + MySQL的架構(gòu)和實(shí)現(xiàn) 3. 企業(yè)級(jí)實(shí)時(shí)數(shù)據(jù)倉(cāng)庫(kù) 3.1 數(shù)據(jù)倉(cāng)庫(kù)模型設(shè)計(jì) 3.2 數(shù)據(jù)倉(cāng)庫(kù)的實(shí)時(shí)ETL 3.3 數(shù)據(jù)倉(cāng)庫(kù)的聚合表 3.4 數(shù)據(jù)倉(cāng)庫(kù)的緯度表關(guān)聯(lián) |