培訓(xùn)背景
課程通過(guò)完整的大數(shù)據(jù)開(kāi)發(fā)項(xiàng)目及一組實(shí)際項(xiàng)目訓(xùn)練與實(shí)戰(zhàn)案例,完全覆蓋Hadoop與Spark生態(tài)系統(tǒng)平臺(tái)的應(yīng)用開(kāi)發(fā)與運(yùn)維實(shí)踐。課堂實(shí)踐項(xiàng)目以項(xiàng)目小組的形式進(jìn)行沙盤(pán)實(shí)操練習(xí),重點(diǎn)強(qiáng)化理解Hadoop與Spark大數(shù)據(jù)項(xiàng)目各個(gè)階段的工作重點(diǎn),同時(shí)掌握作為大數(shù)據(jù)項(xiàng)目管理者的基本技術(shù)與業(yè)務(wù)素養(yǎng)。
培訓(xùn)收益
1.掌握業(yè)界最流行的MapReduce分布式計(jì)算框架關(guān)鍵技術(shù)、工作機(jī)制與編程模型,以及MapReduce最佳實(shí)踐開(kāi)發(fā)技術(shù),包括cominber、partition和shuffle優(yōu)化;
2.掌握基于內(nèi)存的大數(shù)據(jù)統(tǒng)一編程框Spark核心技術(shù)、RDD數(shù)據(jù)模型、DAG圖執(zhí)行模式、緩存機(jī)制、容錯(cuò)機(jī)制、分布式系統(tǒng)架構(gòu),以及基于Scala的編程開(kāi)發(fā)模型、常用數(shù)據(jù)處理函數(shù)、性能優(yōu)化技術(shù);
3.掌握大數(shù)據(jù)分布式文件系統(tǒng)HDFS關(guān)鍵機(jī)制、分布式系統(tǒng)架構(gòu)、高可用方案、擴(kuò)容方案、運(yùn)維參數(shù)與性能優(yōu)化;
4.掌握Hadoop分布式集群部署、參數(shù)設(shè)置與運(yùn)維關(guān)鍵技術(shù);
5.掌握YARN框架工作機(jī)制、關(guān)鍵組件,以及資源調(diào)度器的工作原理、常用調(diào)度策略和優(yōu)化方向;
6.掌握NoSQL分布式數(shù)據(jù)庫(kù)HBase工作機(jī)制、分布式系統(tǒng)架構(gòu)、數(shù)據(jù)組織方式、讀寫(xiě)機(jī)制,以及HBase表模式設(shè)計(jì)最佳實(shí)踐;
7.掌握基于MapReduce和Spark的大數(shù)據(jù)倉(cāng)庫(kù)Hive與SparkSQL的工作原理,常見(jiàn)SQL操作,存儲(chǔ)格式優(yōu)化,分區(qū)/分桶技術(shù);
8.掌握經(jīng)典數(shù)據(jù)挖掘與機(jī)器學(xué)習(xí)算法,掌握基于Spark的機(jī)器學(xué)習(xí)算法庫(kù)MLlib,及其數(shù)據(jù)模型和編程開(kāi)發(fā)模型,掌握基于大數(shù)據(jù)的推薦技術(shù)與協(xié)同過(guò)濾算法;
9.掌握大數(shù)據(jù)分布式協(xié)同管理系統(tǒng)Zookeeper原理知識(shí)和應(yīng)用場(chǎng)景;
10.深入理解大數(shù)據(jù)平臺(tái)主流技術(shù)架構(gòu)和各關(guān)鍵組件適用場(chǎng)景;
11.嫻熟運(yùn)用Hadoop與Spark大數(shù)據(jù)技術(shù)體系規(guī)劃解決方案滿足實(shí)際項(xiàng)目需求;
12.通過(guò)實(shí)戰(zhàn)操作熟練地掌握基于Hadoop與Spark大數(shù)據(jù)平臺(tái)進(jìn)行應(yīng)用程序開(kāi)發(fā)、集群運(yùn)維管理和性能調(diào)優(yōu)技巧。
培訓(xùn)特色
本課程的授課師資都是有著多年在一線從事Hadoop與Spark大數(shù)據(jù)項(xiàng)目的資深講師,采用原理技術(shù)剖析和實(shí)戰(zhàn)案例相結(jié)合的方式開(kāi)展互動(dòng)教學(xué)、強(qiáng)化以建立大數(shù)據(jù)項(xiàng)目解決方案為主體的應(yīng)用開(kāi)發(fā)、技術(shù)討論與交流咨詢,在學(xué)習(xí)的同時(shí)促進(jìn)講師學(xué)員之間的交流,讓每個(gè)學(xué)員都能在課程培訓(xùn)過(guò)程中學(xué)到實(shí)實(shí)在在的大數(shù)據(jù)技術(shù)知識(shí)體系,以及大數(shù)據(jù)技術(shù)應(yīng)用實(shí)戰(zhàn)技能,具備實(shí)際大數(shù)據(jù)應(yīng)用項(xiàng)目的動(dòng)手開(kāi)發(fā)實(shí)踐與運(yùn)維管理部署能力。
課程大綱
日程 | 培訓(xùn)模塊 | 培訓(xùn)內(nèi)容 |
---|---|---|
第一天 上午 | 大數(shù)據(jù)存儲(chǔ)系統(tǒng)與技術(shù)應(yīng)用 | 1.分布式文件系統(tǒng)HDFS產(chǎn)生背景與適用場(chǎng)景 2.HDFS master-slave系統(tǒng)架構(gòu)與讀寫(xiě)工作原理 3.HDFS核心組件技術(shù)講解,NameNode與fsimage、editslog,DataNode與數(shù)據(jù)塊 4.HDFS Federation機(jī)制,viewfs機(jī)制,使用場(chǎng)景講解 5.HDFS高可用保證機(jī)制,SecondaryNameNode,NFS冷備份,基于zookeeper的HA方案 6.HDFS運(yùn)維參數(shù)調(diào)優(yōu)與性能優(yōu)化 |
大數(shù)據(jù)計(jì)算框架(一) 批處理框架MapReduce | 1.MapReduce產(chǎn)生背景與適用場(chǎng)景 2.MapReduce計(jì)算模型的基本原理 3.MapReduce作業(yè)執(zhí)行流程 4.MapReduce編程模型: Map處理和Reduce處理 5.MapReduce處理流程:數(shù)據(jù)讀取collect、中間數(shù)據(jù)sort、中間數(shù)據(jù)spill、中間數(shù)據(jù)shuffle、聚合分析reduce 6.MapReduce開(kāi)發(fā)高級(jí)應(yīng)用:Combiner技術(shù)與應(yīng)用場(chǎng)景、Partitioner技術(shù)與應(yīng)用場(chǎng)景、多Reducers應(yīng)用 7.應(yīng)用案例:基于HDFS+MapReduce集成的服務(wù)器日志分析采集、存儲(chǔ)與分析MapReduce程序?qū)嵗_(kāi)發(fā)與運(yùn)行 8.MapReduce參數(shù)調(diào)優(yōu)與性能優(yōu)化技巧 | |
第一天 下午 |
Hadoop YARN工作機(jī)制 與資源管理 | 1.Hadoop的發(fā)展歷程 2.Hadoop 1.0的核心組件Jobtracker,Tasktracker,以及適用范圍 3.Hadoop 2.0的核心組件YARN工作原理,以及與Hadoop 1.0的聯(lián)系與區(qū)別 4.YARN 關(guān)鍵機(jī)制:任務(wù)推測(cè)執(zhí)行,任務(wù)容錯(cuò),任務(wù)選擇執(zhí)行,心跳機(jī)制 5.Hadoop YARN的資源管理與作業(yè)調(diào)度機(jī)制:FIFO調(diào)度,Capacity調(diào)度器,F(xiàn)air調(diào)度器 6.Hadoop YARN常用運(yùn)維參數(shù)調(diào)優(yōu)與性能優(yōu)化技術(shù) |
大數(shù)據(jù)實(shí)戰(zhàn)練習(xí)一 |
1. Hadoop分布式集群搭建、部署與應(yīng)用實(shí)踐,包含HDFS分布式文件系統(tǒng),YARN資源管理軟件,MapReduce計(jì)算框架軟件 2. HDFS 文件、目錄創(chuàng)建、上傳、下載等命令操作,HDFS合并、歸檔操作,HDFS監(jiān)控平臺(tái)使用 3. MapReduce程序在YARN上運(yùn)行,YARN監(jiān)控平臺(tái)使用 4. 面向HDFS文件系統(tǒng)的數(shù)據(jù)采集實(shí)踐 | |
大數(shù)據(jù)計(jì)算模型(二) 實(shí)時(shí)處理/內(nèi)存計(jì)算 Spark |
1.MapReduce計(jì)算模型的瓶頸 2.Spark產(chǎn)生動(dòng)機(jī)、基本概念與適用場(chǎng)景 3.Spark編程模型與RDD彈性分布式數(shù)據(jù)集的工作原理與機(jī)制 4.Spark實(shí)時(shí)處理平臺(tái)運(yùn)行架構(gòu)與核心組件 5.Spark RDD主要transformation:map, flatMap, filter, union, sample, join, reduceByKey, groupByKey 6.Spark RDD主要action:count,collect,reduce,saveAsTextFile 7.Spark寬、窄依賴關(guān)系與DAG圖分析 8.Spark容錯(cuò)機(jī)制 9.Spark作業(yè)調(diào)度機(jī)制 10.Spark緩存機(jī)制:Cache操作,Persist操作與存儲(chǔ)級(jí)別 11.Spark作業(yè)執(zhí)行機(jī)制:執(zhí)行DAG圖、任務(wù)集、executor執(zhí)行模型、 BlockManager管理 12.Spark standardalone,Spark on YARN運(yùn)行模式 13.Scala開(kāi)發(fā)介紹與函數(shù)編寫(xiě) 14.Spark常用transformation函數(shù)介紹 15.Spark調(diào)優(yōu):序列化機(jī)制、RDD復(fù)用、Broadcast機(jī)制、高性能算子、資源參數(shù)調(diào)優(yōu) | |
第二天 下午 |
大數(shù)據(jù)數(shù)據(jù)倉(cāng)庫(kù)查詢工具 Hive與SparkSQL剖析 |
1.基于MapReduce的大型分布式數(shù)據(jù)倉(cāng)庫(kù)Hive基礎(chǔ)知識(shí)與應(yīng)用場(chǎng)景 2.Hive數(shù)據(jù)倉(cāng)庫(kù)的平臺(tái)架構(gòu)與核心技術(shù)剖析 3.Hive metastore的工作機(jī)制與應(yīng)用 4.Hive內(nèi)部表和外部表 5.Hive 分區(qū)、分桶機(jī)制 6.Hive行、列存儲(chǔ)格式 7.Hive結(jié)果保存與新表生成 8.基于Spark的大型分布式數(shù)據(jù)倉(cāng)庫(kù)SparkSQL基礎(chǔ)知識(shí)與應(yīng)用場(chǎng)景 9.Spark SQL實(shí)時(shí)數(shù)據(jù)倉(cāng)庫(kù)的實(shí)現(xiàn)原理與工作機(jī)制 10.SparkSQL數(shù)據(jù)模型DataFrame 11.基于DataFrame的SparkSQL程序開(kāi)發(fā) 12.Spark-sql shell使用,共享使用Hive表進(jìn)行SQL查詢分析 13.SparkSQL數(shù)據(jù)讀取與結(jié)果保存:json,Hive table,Parquet file,RDD 14.SparkSQL和Hive的區(qū)別與聯(lián)系 15.制造行業(yè)Hive與SparkSQL應(yīng)用案例介紹 |
大數(shù)據(jù)實(shí)戰(zhàn)練習(xí)二 |
1.Spark分布式集群平臺(tái)搭建、部署與配置Spark集群,Spark shell環(huán)境實(shí)踐操作,Spark案例程序分析 2.基于sbt的Spark程序編譯、開(kāi)發(fā)與提交運(yùn)行 3.應(yīng)用案例一:基于Spark的服務(wù)器運(yùn)行日志TopN分析、程序?qū)嵗_(kāi)發(fā) 4.應(yīng)用案例二: 基于Spark的搜索引擎日志熱詞與用戶分析、程序?qū)嵗_(kāi)發(fā) 5.Hive數(shù)據(jù)倉(cāng)庫(kù)實(shí)踐,Hive集群安裝部署,基于文件的Hive數(shù)據(jù)倉(cāng)庫(kù)表導(dǎo)入導(dǎo)出與分區(qū)操作,Hive SQL操作,Hive客戶端操作 6.SparkSQL數(shù)據(jù)倉(cāng)庫(kù)實(shí)戰(zhàn):shell實(shí)踐操作:數(shù)據(jù)表讀取、查詢與結(jié)果保存 | |
第三天 上午 |
分布式NoSQL數(shù)據(jù)庫(kù)關(guān)鍵 技術(shù)及應(yīng)用實(shí)踐 |
1.關(guān)系型數(shù)據(jù)庫(kù)瓶頸,以及NoSQL數(shù)據(jù)庫(kù)的發(fā)展,概念,分類,及其在半結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)場(chǎng)景下的適用范圍 2.列存儲(chǔ)NoSQL數(shù)據(jù)庫(kù)HBase簡(jiǎn)介 3.HBase數(shù)據(jù)模型剖析:row key、列簇、單元格和時(shí)間戳版本號(hào) 4.HBase分布式集群系統(tǒng)架構(gòu):HMaster、RegionServer和Zookeeper 5.HBase LSM數(shù)據(jù)組織結(jié)構(gòu)與讀寫(xiě)機(jī)制,以及HBase讀寫(xiě)性能特性 6.HBase表設(shè)計(jì)模式與primary key設(shè)計(jì)規(guī)范 7.HBase基本操作:數(shù)據(jù)插入、修改與刪除,單鍵查詢與范圍查詢 |
大數(shù)據(jù)分布式系統(tǒng)管理 系統(tǒng)zookeeper |
1.Zookeeper工作原理 2.Zookeeper系統(tǒng)架構(gòu):服務(wù)器集群和客戶端 3.Zookeeper數(shù)據(jù)結(jié)構(gòu) 4.Zookeeper watch機(jī)制 5.Zookeeper適用場(chǎng)景 | |
第三天 下午 |
數(shù)據(jù)挖掘與 大數(shù)據(jù)機(jī)器學(xué)習(xí)技術(shù) |
1.機(jī)器學(xué)習(xí)發(fā)展歷程 2.機(jī)器學(xué)習(xí)與大數(shù)據(jù)關(guān)聯(lián)與區(qū)別 3.數(shù)據(jù)挖掘經(jīng)典算法 4.回歸算法:線性回歸與應(yīng)用場(chǎng)景,非線性回歸與應(yīng)用場(chǎng)景 5.分類算法:邏輯回歸與應(yīng)用場(chǎng)景,決策樹(shù)與應(yīng)用場(chǎng)景,樸素貝葉斯算法與應(yīng)用場(chǎng)景,支持向量機(jī)算法與應(yīng)用場(chǎng)景 6.聚類算法; k-means與應(yīng)用場(chǎng)景 7.大數(shù)據(jù)推薦技術(shù):協(xié)同過(guò)濾,距離計(jì)算;基于物品的協(xié)同過(guò)濾算法,基于用戶的協(xié)同過(guò)濾算法 8.基于Spark的機(jī)器學(xué)習(xí)庫(kù)Spark MLlib 9.Spark MLlib支持的數(shù)據(jù)挖掘算法 10.Spark MLlib數(shù)據(jù)模型與使用 11.Spark MLlib編程模型與開(kāi)發(fā) |
大數(shù)據(jù)實(shí)戰(zhàn)練習(xí)三 |
1.大數(shù)據(jù)機(jī)器學(xué)習(xí)實(shí)戰(zhàn):基于Spark MLlib的數(shù)據(jù)分類;基于Spark MLlib的聚類 2.大數(shù)據(jù)推薦實(shí)戰(zhàn):基于用戶產(chǎn)品購(gòu)買(mǎi)記錄,使用Spark進(jìn)行數(shù)據(jù)清洗與預(yù)處理,使用Spark MLlib進(jìn)行協(xié)同過(guò)濾與推薦 | |
大數(shù)據(jù)項(xiàng)目選型、實(shí)施、 優(yōu)化等問(wèn)題交流討論 | 大數(shù)據(jù)項(xiàng)目的需求分析、應(yīng)用實(shí)施、系統(tǒng)優(yōu)化,以及解決方案等咨詢與交流討論 |