課程簡(jiǎn)介
本課程詳細(xì)的介紹了Hadoop平臺(tái)的常用組件,HDFS使用操作、MapReduce開發(fā)、yarn原理和應(yīng)用、Hbase數(shù)據(jù)庫(kù)開發(fā)、Hive數(shù)據(jù)倉(cāng)庫(kù)開發(fā)、Sqoop數(shù)據(jù)抽取、Flume數(shù)據(jù)采集、Kafka數(shù)據(jù)發(fā)布和訂閱等核心技術(shù),幫助學(xué)員能夠深刻的理解Hadoop生態(tài)技術(shù)和基于Hadoop生態(tài)技術(shù)進(jìn)行開發(fā)。
目標(biāo)收益
1、本課程將為大家全面而又深入的介紹Hadoop的常用組件,涉及分布式數(shù)據(jù)收集,大數(shù)據(jù)存儲(chǔ),資源管理及分布式計(jì)算框架等。
2、深度掌握基于HDFS、Mapreduce、Yarn、Spark、Hbase、Hive、Sqoop、Flume和Kafka的使用
3、掌握Scala開發(fā)語(yǔ)言
培訓(xùn)對(duì)象
大數(shù)據(jù)開發(fā)人員
課程大綱
Day1 第一篇 大數(shù)據(jù)生態(tài)系統(tǒng)介紹 |
一、開源大數(shù)據(jù)技術(shù)架構(gòu) 二、開源大數(shù)據(jù)常用組件之間的依賴關(guān)系 三、離線計(jì)算框架介紹 —Mapreduce、Hive、Tez、Presto、Kylin 四、實(shí)時(shí)查詢框架介紹 —NoSQL、Hbase 五、實(shí)時(shí)計(jì)算框架介紹 —Kafka、Storm、Spark Streaming 六、內(nèi)存計(jì)算框架介紹 —Spark、SparkSQL、SparkMllib、SparkR 七、前沿大數(shù)據(jù)技術(shù)介紹 —Flink、Drill、Druid、KUDU等 八、海量日志快速檢索架構(gòu) —ELK(Elasticsearch、Logstash、Kibana)等 |
Day1 第二篇 分布式存儲(chǔ)HDFS |
一、HDFS架構(gòu)介紹 二、HDFS原理介紹 三、NameNode功能詳解 四、DataNode功能詳 五、HDFS HA功能詳解 六、HSFD的fsimage和editslog詳解 七、HDFS的block詳解 八、HDFS的block的備份策略 九、Hadoop的機(jī)架感知配置 十、HDFS的權(quán)限詳解 十一、Hadoop的客服端接入案例 十二、HDFS的客服端Cache使用 十三、HDFS讀寫性能的優(yōu)化 十四,HDFS Snapshots的應(yīng)用和原理介紹 |
Day1 第三篇 分布式計(jì)算MapReduce |
一、Mapreduce原理 二、MapReduce流程 三、剖析一個(gè)MapReduce程序 四、Mapper和Reducer抽象類詳解 五、Mapreduce的最小驅(qū)動(dòng)類 六、MapReduce自帶的類型 七、自定義Writables和WritableComparables 八、Mapreduce的輸入InputFormats 九、MapReduce的輸出OutputFormats 十、Combiner詳解 十一、Partitioner詳解 十二、MapReduce的優(yōu)化 十三、Map和Reduce的個(gè)數(shù)設(shè)置 十四、任務(wù)調(diào)度 十五、默認(rèn)的任務(wù)調(diào)度 十六、公平任務(wù)調(diào)度 十七,能力任務(wù)調(diào)度 |
Day2 第四篇 Yarn分布式資源調(diào)度 |
一、 Yarn的原理和架構(gòu) 二、Yarn資源調(diào)度策略 三、CPU、內(nèi)存和IO三種資源調(diào)度優(yōu)化 四、Yarn資源調(diào)度Fair和Capacity詳解 五、JobHistory的功能介紹 六、Yarn動(dòng)態(tài)資源的設(shè)置 七、動(dòng)態(tài)分配特定節(jié)點(diǎn)給每個(gè)應(yīng)用(MR、Flink、Spark、Hbase等) 八、基于Yarn的資源控制詳解 九、基于Yarn實(shí)現(xiàn)底層SLA的資源分配 十,Yarn核心參數(shù)的詳解和優(yōu)化 |
Day2 第五篇 Hive實(shí)戰(zhàn) |
一、Hive的作用和原理說明 二、Hadoop倉(cāng)庫(kù)和傳統(tǒng)數(shù)據(jù)倉(cāng)庫(kù)的協(xié)作關(guān)系 三、Hadoop/Hive倉(cāng)庫(kù)數(shù)據(jù)數(shù)據(jù)流 四、Hive的MetaStore詳解 五、Hive的基本用法 六、Hive的server啟動(dòng) 七、HQL基本語(yǔ)法 八、Hive的加載數(shù)據(jù)本地加載和HDFS加載 九、Hive的partition詳解 十、Hive的存儲(chǔ)方式詳解 十一、RCFILE、TEXTFILE和SEQUEUEFILE 十二、Hive的UDF和UDAF 十三、Hive的transform詳解 十四,Hive的JDBC連接 |
Day2 第六篇 Hive數(shù)據(jù)倉(cāng)庫(kù)實(shí)戰(zhàn) |
一、數(shù)據(jù)接入大數(shù)據(jù)平臺(tái) —離線數(shù)據(jù)接入 —Sqoop工具介紹和使用 —RDBMS導(dǎo)入導(dǎo)出到Hive數(shù)據(jù)倉(cāng)庫(kù) 二、數(shù)據(jù)處理過程 —數(shù)據(jù)的ETL —數(shù)據(jù)分層(ODS、DW和DM等) —數(shù)據(jù)建模 —數(shù)據(jù)校驗(yàn) 三、數(shù)據(jù)應(yīng)用 —數(shù)據(jù)離線應(yīng)用 —數(shù)據(jù)實(shí)時(shí)應(yīng)用 —數(shù)據(jù)實(shí)驗(yàn)室 四、數(shù)據(jù)展示工具(BI工具) 五、從原始搜索數(shù)據(jù)集中抽取、集成數(shù)據(jù),整理后形成規(guī)范的數(shù)據(jù)倉(cāng)庫(kù) 六、基于Hadoop數(shù)據(jù)倉(cāng)庫(kù)的數(shù)據(jù)分層(ODS、DW、DWS/B、DM、ST) 七,數(shù)據(jù)倉(cāng)庫(kù)不同層之間的數(shù)據(jù)交互和ETL |
Day3 第七篇 NoSQL和Hbase實(shí)戰(zhàn) |
一、NoSQL介紹 二、NoSQL應(yīng)用場(chǎng)景 三、Hbase的架構(gòu)原理 四、Hbase核心概念詳解(HMaster、HRegionServer、Store、StoreFile、HFile、HLog和MetaStore) 五、Hbase自帶的namesapce和Meta表詳解 六、HBase邏輯視圖介紹 七、HBase物理視圖介紹 八、HBase的RowKey設(shè)計(jì)原則 九、HBase BloomFilter的介紹 十、Hbase表的設(shè)計(jì)案例 十一、一對(duì)一設(shè)計(jì) 十二、一對(duì)多設(shè)計(jì) 十三、多對(duì)多設(shè)計(jì) 十四、時(shí)間序列的數(shù)據(jù)表的設(shè)計(jì) 十五、HBase的import功能介紹 十六、手動(dòng)設(shè)置Split和Compaction操作 十七、Pre-Split的介紹 十八、RS宕機(jī)的運(yùn)維處理 十九、HBase Region的遷移優(yōu)化 二十、HBase 的表結(jié)構(gòu)優(yōu)化 二十一、HBase使用場(chǎng)景介紹 二十二、Hbase 的Phoenix工具介紹 二十三,HBase案例分析 |
Day3 第八篇 Sqoop和Flume實(shí)戰(zhàn) |
一、Flume架構(gòu)和應(yīng)用場(chǎng)景 二、Flume用用場(chǎng)景 三、Flume Agent介紹 —Source —Channel —Sink 四、Flume 采集數(shù)據(jù)到HDFS實(shí)戰(zhàn) 五、Flume案例實(shí)戰(zhàn) 六、Sqoop架構(gòu)介紹 七、Sqoop抽取Oracle和Mysql的數(shù)據(jù) 八,Sqoop實(shí)戰(zhàn) |
Day3 第九篇 Kafka實(shí)戰(zhàn) |
一、kafka概述 二、kafka是什么 三、kafka概念詳解:Topics/logs、Distributitions、Producers、Consumers、Guarantees。 四、 kafka的應(yīng)用場(chǎng)景 五、kafka的體系架構(gòu)與設(shè)計(jì)原理 六、 消息持久化 七、生產(chǎn)者與消費(fèi)者 八、 消息傳輸機(jī)制 九、 復(fù)制備份 十、分配機(jī)制 十一,Kafka監(jiān)控工具安裝和使用 |
Day4 第十一篇 Spark core介紹 |
一、Spark的編程模型 二、Spark編程模型解析 三、Partition實(shí)現(xiàn)機(jī)制 四、RDD的特點(diǎn)、操作、依賴關(guān)系 五、Transformation RDD詳解 六、Action RDD詳解 七、Spark的累加器詳解 八、Spark的廣播變量詳解 九、Spark容錯(cuò)機(jī)制 十、lineage和checkpoint詳解 十一、Spark的運(yùn)行方式 十二、Spark的Shuffle原理詳解 —Sort-Based原理 —Hash-Based原理 十三、Spark2.0的新特性 十四,Spark DataFrame和DateSet介紹 |
Day4 第十二篇 Spark SQL實(shí)戰(zhàn) |
一、Spark SQL原理 二、Spark SQL的Catalyst優(yōu)化器 —Parser解析模塊 —Analyzer模塊 —Optimizer模塊 —physical Planning模塊 三、Spark SQL內(nèi)核 四、Spark SQL和Hive連接 五、DataFrame和DataSet架構(gòu) 六、Fataframe、DataSet和Spark SQL的比較 七、SparkSQL parquet格式實(shí)戰(zhàn) 八、Spark SQL UDF和UDAF實(shí)操 九、Spark SQL的實(shí)例和編程 十、Spark SQL的實(shí)例操作demo 十一,Spark SQL的編程 |
Day4 第十三篇 Spark Streaming詳解和實(shí)戰(zhàn) |
一、Spark Streaming原理 二、Spark Streaming的應(yīng)用場(chǎng)景 三、Windows 窗口操作 四、DStream詳解 五、Spark SQL on Spark Streaming詳解 六、Structured Streaming介紹 七、Structured Streaming的水印操作 八、Structured Streaming+kafka應(yīng)用實(shí)戰(zhàn) 九、流式任務(wù)的痛點(diǎn)和注意點(diǎn) 十、流式任務(wù)數(shù)據(jù)延遲問題 十一、流式任務(wù)作業(yè)性能問題 十二,流式任務(wù)任務(wù)常見的處理方式 |
Day5 第十四篇 Flink SQL實(shí)戰(zhàn) |
一、Flink SQL和Table開發(fā)實(shí)戰(zhàn) 二、6.1 Flink SQL功能介紹 三、6.2 Flink SQL 四、6.3 Kafka+FlinkSQL整合 五、6.4 Flink Table介紹 六、6.5 Flink Table DSL語(yǔ)法介紹 七、Flink CDC介紹 八、7.1 傳統(tǒng)CDC工具介紹 九、7.2 CDC工具介紹和比較 十、7.3 Flink CDC支持的功能 十一、7.4 基于日志CDC的數(shù)據(jù)同步流程 十二、7.5 ETL—傳統(tǒng)CDC ETL分析 十三、7.6 ETL—基于Flink CDC 聚合分析 十四、7.7 Flink CDC 數(shù)據(jù)寬表 十五、7.8 Flink SQL如何集成CDC |
Day5 第十五篇 項(xiàng)目實(shí)戰(zhàn)RDBMS+Kafka+Flink CDC+FlinkSQL+ES+Kibana項(xiàng)目實(shí)戰(zhàn) |
RDBMS+Kafka+Flink CDC+FlinkSQL+ES+Kibana項(xiàng)目實(shí)戰(zhàn): 1、Docker演示環(huán)境介紹 2、Flink CDC mysql實(shí)戰(zhàn) 3、Flink CDC postgres實(shí)戰(zhàn) 4、Flink CDC Kafka實(shí)戰(zhàn) 5、Flink CDC ES實(shí)現(xiàn) 6、Kibana結(jié)果展示 7、RDBMS+Kafka+Flink CDC+FlinkSQL+ES+Kibana完整項(xiàng)目實(shí)戰(zhàn) |
Day1 第一篇 大數(shù)據(jù)生態(tài)系統(tǒng)介紹 一、開源大數(shù)據(jù)技術(shù)架構(gòu) 二、開源大數(shù)據(jù)常用組件之間的依賴關(guān)系 三、離線計(jì)算框架介紹 —Mapreduce、Hive、Tez、Presto、Kylin 四、實(shí)時(shí)查詢框架介紹 —NoSQL、Hbase 五、實(shí)時(shí)計(jì)算框架介紹 —Kafka、Storm、Spark Streaming 六、內(nèi)存計(jì)算框架介紹 —Spark、SparkSQL、SparkMllib、SparkR 七、前沿大數(shù)據(jù)技術(shù)介紹 —Flink、Drill、Druid、KUDU等 八、海量日志快速檢索架構(gòu) —ELK(Elasticsearch、Logstash、Kibana)等 |
Day1 第二篇 分布式存儲(chǔ)HDFS 一、HDFS架構(gòu)介紹 二、HDFS原理介紹 三、NameNode功能詳解 四、DataNode功能詳 五、HDFS HA功能詳解 六、HSFD的fsimage和editslog詳解 七、HDFS的block詳解 八、HDFS的block的備份策略 九、Hadoop的機(jī)架感知配置 十、HDFS的權(quán)限詳解 十一、Hadoop的客服端接入案例 十二、HDFS的客服端Cache使用 十三、HDFS讀寫性能的優(yōu)化 十四,HDFS Snapshots的應(yīng)用和原理介紹 |
Day1 第三篇 分布式計(jì)算MapReduce 一、Mapreduce原理 二、MapReduce流程 三、剖析一個(gè)MapReduce程序 四、Mapper和Reducer抽象類詳解 五、Mapreduce的最小驅(qū)動(dòng)類 六、MapReduce自帶的類型 七、自定義Writables和WritableComparables 八、Mapreduce的輸入InputFormats 九、MapReduce的輸出OutputFormats 十、Combiner詳解 十一、Partitioner詳解 十二、MapReduce的優(yōu)化 十三、Map和Reduce的個(gè)數(shù)設(shè)置 十四、任務(wù)調(diào)度 十五、默認(rèn)的任務(wù)調(diào)度 十六、公平任務(wù)調(diào)度 十七,能力任務(wù)調(diào)度 |
Day2 第四篇 Yarn分布式資源調(diào)度 一、 Yarn的原理和架構(gòu) 二、Yarn資源調(diào)度策略 三、CPU、內(nèi)存和IO三種資源調(diào)度優(yōu)化 四、Yarn資源調(diào)度Fair和Capacity詳解 五、JobHistory的功能介紹 六、Yarn動(dòng)態(tài)資源的設(shè)置 七、動(dòng)態(tài)分配特定節(jié)點(diǎn)給每個(gè)應(yīng)用(MR、Flink、Spark、Hbase等) 八、基于Yarn的資源控制詳解 九、基于Yarn實(shí)現(xiàn)底層SLA的資源分配 十,Yarn核心參數(shù)的詳解和優(yōu)化 |
Day2 第五篇 Hive實(shí)戰(zhàn) 一、Hive的作用和原理說明 二、Hadoop倉(cāng)庫(kù)和傳統(tǒng)數(shù)據(jù)倉(cāng)庫(kù)的協(xié)作關(guān)系 三、Hadoop/Hive倉(cāng)庫(kù)數(shù)據(jù)數(shù)據(jù)流 四、Hive的MetaStore詳解 五、Hive的基本用法 六、Hive的server啟動(dòng) 七、HQL基本語(yǔ)法 八、Hive的加載數(shù)據(jù)本地加載和HDFS加載 九、Hive的partition詳解 十、Hive的存儲(chǔ)方式詳解 十一、RCFILE、TEXTFILE和SEQUEUEFILE 十二、Hive的UDF和UDAF 十三、Hive的transform詳解 十四,Hive的JDBC連接 |
Day2 第六篇 Hive數(shù)據(jù)倉(cāng)庫(kù)實(shí)戰(zhàn) 一、數(shù)據(jù)接入大數(shù)據(jù)平臺(tái) —離線數(shù)據(jù)接入 —Sqoop工具介紹和使用 —RDBMS導(dǎo)入導(dǎo)出到Hive數(shù)據(jù)倉(cāng)庫(kù) 二、數(shù)據(jù)處理過程 —數(shù)據(jù)的ETL —數(shù)據(jù)分層(ODS、DW和DM等) —數(shù)據(jù)建模 —數(shù)據(jù)校驗(yàn) 三、數(shù)據(jù)應(yīng)用 —數(shù)據(jù)離線應(yīng)用 —數(shù)據(jù)實(shí)時(shí)應(yīng)用 —數(shù)據(jù)實(shí)驗(yàn)室 四、數(shù)據(jù)展示工具(BI工具) 五、從原始搜索數(shù)據(jù)集中抽取、集成數(shù)據(jù),整理后形成規(guī)范的數(shù)據(jù)倉(cāng)庫(kù) 六、基于Hadoop數(shù)據(jù)倉(cāng)庫(kù)的數(shù)據(jù)分層(ODS、DW、DWS/B、DM、ST) 七,數(shù)據(jù)倉(cāng)庫(kù)不同層之間的數(shù)據(jù)交互和ETL |
Day3 第七篇 NoSQL和Hbase實(shí)戰(zhàn) 一、NoSQL介紹 二、NoSQL應(yīng)用場(chǎng)景 三、Hbase的架構(gòu)原理 四、Hbase核心概念詳解(HMaster、HRegionServer、Store、StoreFile、HFile、HLog和MetaStore) 五、Hbase自帶的namesapce和Meta表詳解 六、HBase邏輯視圖介紹 七、HBase物理視圖介紹 八、HBase的RowKey設(shè)計(jì)原則 九、HBase BloomFilter的介紹 十、Hbase表的設(shè)計(jì)案例 十一、一對(duì)一設(shè)計(jì) 十二、一對(duì)多設(shè)計(jì) 十三、多對(duì)多設(shè)計(jì) 十四、時(shí)間序列的數(shù)據(jù)表的設(shè)計(jì) 十五、HBase的import功能介紹 十六、手動(dòng)設(shè)置Split和Compaction操作 十七、Pre-Split的介紹 十八、RS宕機(jī)的運(yùn)維處理 十九、HBase Region的遷移優(yōu)化 二十、HBase 的表結(jié)構(gòu)優(yōu)化 二十一、HBase使用場(chǎng)景介紹 二十二、Hbase 的Phoenix工具介紹 二十三,HBase案例分析 |
Day3 第八篇 Sqoop和Flume實(shí)戰(zhàn) 一、Flume架構(gòu)和應(yīng)用場(chǎng)景 二、Flume用用場(chǎng)景 三、Flume Agent介紹 —Source —Channel —Sink 四、Flume 采集數(shù)據(jù)到HDFS實(shí)戰(zhàn) 五、Flume案例實(shí)戰(zhàn) 六、Sqoop架構(gòu)介紹 七、Sqoop抽取Oracle和Mysql的數(shù)據(jù) 八,Sqoop實(shí)戰(zhàn) |
Day3 第九篇 Kafka實(shí)戰(zhàn) 一、kafka概述 二、kafka是什么 三、kafka概念詳解:Topics/logs、Distributitions、Producers、Consumers、Guarantees。 四、 kafka的應(yīng)用場(chǎng)景 五、kafka的體系架構(gòu)與設(shè)計(jì)原理 六、 消息持久化 七、生產(chǎn)者與消費(fèi)者 八、 消息傳輸機(jī)制 九、 復(fù)制備份 十、分配機(jī)制 十一,Kafka監(jiān)控工具安裝和使用 |
Day4 第十一篇 Spark core介紹 一、Spark的編程模型 二、Spark編程模型解析 三、Partition實(shí)現(xiàn)機(jī)制 四、RDD的特點(diǎn)、操作、依賴關(guān)系 五、Transformation RDD詳解 六、Action RDD詳解 七、Spark的累加器詳解 八、Spark的廣播變量詳解 九、Spark容錯(cuò)機(jī)制 十、lineage和checkpoint詳解 十一、Spark的運(yùn)行方式 十二、Spark的Shuffle原理詳解 —Sort-Based原理 —Hash-Based原理 十三、Spark2.0的新特性 十四,Spark DataFrame和DateSet介紹 |
Day4 第十二篇 Spark SQL實(shí)戰(zhàn) 一、Spark SQL原理 二、Spark SQL的Catalyst優(yōu)化器 —Parser解析模塊 —Analyzer模塊 —Optimizer模塊 —physical Planning模塊 三、Spark SQL內(nèi)核 四、Spark SQL和Hive連接 五、DataFrame和DataSet架構(gòu) 六、Fataframe、DataSet和Spark SQL的比較 七、SparkSQL parquet格式實(shí)戰(zhàn) 八、Spark SQL UDF和UDAF實(shí)操 九、Spark SQL的實(shí)例和編程 十、Spark SQL的實(shí)例操作demo 十一,Spark SQL的編程 |
Day4 第十三篇 Spark Streaming詳解和實(shí)戰(zhàn) 一、Spark Streaming原理 二、Spark Streaming的應(yīng)用場(chǎng)景 三、Windows 窗口操作 四、DStream詳解 五、Spark SQL on Spark Streaming詳解 六、Structured Streaming介紹 七、Structured Streaming的水印操作 八、Structured Streaming+kafka應(yīng)用實(shí)戰(zhàn) 九、流式任務(wù)的痛點(diǎn)和注意點(diǎn) 十、流式任務(wù)數(shù)據(jù)延遲問題 十一、流式任務(wù)作業(yè)性能問題 十二,流式任務(wù)任務(wù)常見的處理方式 |
Day5 第十四篇 Flink SQL實(shí)戰(zhàn) 一、Flink SQL和Table開發(fā)實(shí)戰(zhàn) 二、6.1 Flink SQL功能介紹 三、6.2 Flink SQL 四、6.3 Kafka+FlinkSQL整合 五、6.4 Flink Table介紹 六、6.5 Flink Table DSL語(yǔ)法介紹 七、Flink CDC介紹 八、7.1 傳統(tǒng)CDC工具介紹 九、7.2 CDC工具介紹和比較 十、7.3 Flink CDC支持的功能 十一、7.4 基于日志CDC的數(shù)據(jù)同步流程 十二、7.5 ETL—傳統(tǒng)CDC ETL分析 十三、7.6 ETL—基于Flink CDC 聚合分析 十四、7.7 Flink CDC 數(shù)據(jù)寬表 十五、7.8 Flink SQL如何集成CDC |
Day5 第十五篇 項(xiàng)目實(shí)戰(zhàn)RDBMS+Kafka+Flink CDC+FlinkSQL+ES+Kibana項(xiàng)目實(shí)戰(zhàn) RDBMS+Kafka+Flink CDC+FlinkSQL+ES+Kibana項(xiàng)目實(shí)戰(zhàn): 1、Docker演示環(huán)境介紹 2、Flink CDC mysql實(shí)戰(zhàn) 3、Flink CDC postgres實(shí)戰(zhàn) 4、Flink CDC Kafka實(shí)戰(zhàn) 5、Flink CDC ES實(shí)現(xiàn) 6、Kibana結(jié)果展示 7、RDBMS+Kafka+Flink CDC+FlinkSQL+ES+Kibana完整項(xiàng)目實(shí)戰(zhàn) |