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