課程簡介
大數(shù)據培訓課程
階段一:走進大數(shù)據
第1周 學好大數(shù)據先攻克Linux
在步入大數(shù)據殿堂之前,先帶領大家快速掌握大數(shù)據的必備技能:Linux的操作使用,為后面學習大數(shù)據技術打下堅實基礎。
課程安排:
1、掌握Linux虛擬機的安裝和配置
2、使用ScecureCRT連接Linux虛擬機
3、掌握Linux中常見高級命令(vi、wc、sort、date、jps、kill等命令)的使用
4、掌握Linux中三劍客(grep、sed、awk)的常見用法
5、掌握Linux的高級配置(ip、hostname、防火墻)
6、掌握Shell腳本的開發(fā)
7、掌握Shell中變量、循環(huán)和判斷的使用
8、掌握Shell中的擴展內容
9、掌握Linux中crontab定時器的使用
10、了解認識什么是大數(shù)據
11、大數(shù)據產生的背景
12、大數(shù)據的4V特征
13、大數(shù)據的行業(yè)應用
第2周 大數(shù)據起源之初識Hadoop
Hadoop是大數(shù)據學習大數(shù)據必經之路,本周帶領大家了解Hadoop,以及Hadoop集群的安裝部署。
課程安排:
1、什么是Hadoop
2、Hadoop發(fā)行版介紹
3、Hadoop版本演變歷史
4、Hadoop3.x的細節(jié)優(yōu)化
5、Hadoop三大核心組件介紹
6、偽分布集群安裝部署
7、分布式集群安裝部署
8、Hadoop的客戶端節(jié)點
第3周 Hadoop之HDFS的使用
通過生活場景"小明租房"案例引入HDFS核心架構,掌握HDFS的常見Shell操作以及Java代碼操作,對以后實現(xiàn)海量數(shù)據的存儲打下基礎。
課程安排:
1、生活場景引入:"小明租房"案例一步一步引入Hadoop中的分布式存儲架構
2、HDFS的Shell介紹
3、HDFS的常見Shell操作
4、HDFS案例實操
5、Java代碼操作HDFS
第4周 Hadoop之HDFS核心進程剖析
通過對HDFS中核心進程NameNode、SecondaryNameNode、DataNode進行詳細分析,幫助大家更好的理解HDFS的底層原理
課程安排:
1、NameNode介紹
2、NameNode深入
3、SecondaryNameNode介紹
4、DataNode介紹
5、HDFS的回收站
6、HDFS的安全模式詳解
7、實戰(zhàn):定時上傳數(shù)據至HDFS
8、HDFS的高可用和高擴展機制分析
第5周 Hadoop之初識MR
通過"計算撲克牌中的黑桃個數(shù)"案例引入MapReduce的思想,詳細分析了MapReduce的執(zhí)行流程,并且通過開發(fā)WordCount案例加深理解。
課程安排:
1、MapReduce介紹
2、 MapReduce執(zhí)行原理
3、實戰(zhàn):WordCount案例圖解
4、實戰(zhàn):WordCount案例開發(fā)
5、MapReduce任務日志查看
6、停止Hadoop集群中的任務
7、MapReduce程序擴展
階段二:PB級離線數(shù)據計算分析方案
第6周 拿來就用的企業(yè)級解決方案
詳細分析了小文件的解決方案、數(shù)據傾斜的解決方案、YARN調度器的使用、以及Hadoop在CDH和HDP中的使用。
課程安排:
1、小文件問題之SequenceFile
2、小文件問題之MapFile
3、案例:小文件存儲和計算
4、 數(shù)據傾斜問題分析
5、數(shù)據傾斜案例實戰(zhàn)
6、YARN的基本情況介紹
7、YARN中的調度器分析
8、案例:YARN多資源隊列配置和使用
9、Hadoop官方文檔使用指北
10、Hadoop在CDH中的使用
11、Hadoop在HDP中的使用
第7周 Flume從0到高手一站式養(yǎng)成記
Flume是一個分布式、高可靠、高可用的系統(tǒng),能夠有效的收集、聚合、移動大量的日志數(shù)據,在數(shù)據采集領域,屬于中流砥柱,在這里通過原理、實戰(zhàn)、監(jiān)控、優(yōu)化等層面對Flume進行學習。
課程安排:
1、快速了解Flume
2、Flume的三大核心組件
3、Flume安裝部署
4、Flume的Hello World
5、案例:采集文件內容上傳至HDFS
6、Flume高級組件之Source Interceptors
7、Flume高級組件之Channel Selectors
8、Flume高級組件之Sink Processors
9、各種自定義組件
10、Flume優(yōu)化
11、Flume進程監(jiān)控
第8周 數(shù)據倉庫Hive從入門到小牛
頻繁的開發(fā)MapReduce是非常繁瑣的,并且很多業(yè)務人員是不懂代碼的,如何讓他們也可以很方便的操作HDFS中的海量數(shù)據呢?Hive的橫空出世,解決了這一難題。
課程安排:
1、快速了解Hive
2、數(shù)據庫和數(shù)據倉庫的區(qū)別
3、Hive安裝部署
4、Hive使用方式之命令行方式
5、Hive使用方式之JDBC方式
6、Set命令的使用
7、Hive的日志配置
8、Hive中數(shù)據庫的操作
9、Hive中表的操作
10、Hive中數(shù)據類型的應用
11、Hive表類型之內部表+外部表
12、Hive表類型之內部分區(qū)表
13、Hive表類型之外部分區(qū)表
14、Hive表類型之桶表+視圖
15、Hive數(shù)據處理綜合案例
16、Hive高級函數(shù)之分組排序取TopN
17、Hive高級函數(shù)之行轉列
18、Hive高級函數(shù)之列轉行
19、Hive的排序函數(shù)
20、Hive的分組和去重函數(shù)
21、一個SQL語句分析
22、Hive的Web工具-HUE
階段三:Spark+綜合項目:電商數(shù)據倉庫設計與實戰(zhàn)
第9周 7天極速掌握Scala語言
Scala的函數(shù)式編程受到很多框架的青睞,例如Kafka、Spark、Flink等框架都是使用Scala作為底層源碼開發(fā)語言,下面就帶著大家7天極速掌握Scala語言。
課程安排:
1、快速了解Scala
2、Scala環(huán)境安裝配置
3、Scala中的變量和數(shù)據類型
4、Scala中的表達式和循環(huán)
5、Scala集合體系之Set+List+Map
6、Scala中的Array和Tuple
7、Scala中函數(shù)的使用
8、Scala面向對象之類的使用
9、Scala面向對象之對象和伴生對象
10、Scala面向對象之apply和main的使用
11、Scala面向對象之接口的使用
12、Scala函數(shù)式編程之匿名函數(shù)和高階函數(shù)的使用
13、Scala高級特性之模式匹配和隱式轉換
第10周 Spark快速上手
Spark是目前企業(yè)中應用廣泛的計算引擎,盤它!實際案例詳細分析Spark中的Transformation算子和Action算子使用,RDD持久化,共享變量使用,通過一個綜合案例加深理解。
課程安排:
1、快速了解Spark
2、Spark 集群安裝部署(Standalone+ON YARN)
3、Spark工作原理分析
4、什么是RDD
5、Spark架構原理
6、Spark項目開發(fā)環(huán)境配置
7、WordCount代碼開發(fā)(Java+Scala)
8、Spark任務的三種提交方式
9、Spark開啟historyServer服務
10、創(chuàng)建RDD的三種方式
11、Transformation和Action介紹
12、Transformation操作開發(fā)實戰(zhàn)
13、Action操作開發(fā)實戰(zhàn)
14、RDD持久化原理
15、RDD持久化開發(fā)實戰(zhàn)
16、共享變量之Broadcast Variable的使用
17、共享變量之Accumulator的使用
18、案例實戰(zhàn):TopN主播統(tǒng)計
19、面試題
第11周 Spark性能優(yōu)化的道與術
通過對Spark中的寬依賴、窄依賴、Stage、Shuffle機制進行詳細分析,加深對Spark的理解,以及對Spark中的checkpoint機制通過源碼層面進行深度剖析。
課程安排:
1、寬依賴和窄依賴
2、Stage的理解
3、Spark任務的三種提交模式
4、Shuffle介紹
5、三種Shuffle機制分析
6、checkpoint概述
7、checkpoint和持久化的區(qū)別
8、checkpoint代碼開發(fā)和執(zhí)行分析
9、checkpoint源碼分析之寫操作和讀操作
10、Spark程序性能優(yōu)化分析
11、高性能序列化類庫Kryo的使用
12、持久化或者checkpoint
13、JVM垃圾回收調憂
14、提高并行度
15、數(shù)據本地化
16、算子優(yōu)化
17、SparkSql快速上手使用
18、實戰(zhàn):SparkSQL實現(xiàn)TopN主播統(tǒng)計
第12周 綜合項目:電商數(shù)據倉庫之用戶行為數(shù)倉
整合各個業(yè)務線數(shù)據,為各個業(yè)務系統(tǒng)提供統(tǒng)一&規(guī)范的數(shù)據出口。通過對項目的由來,需求、技術進行分析和選型,實現(xiàn)用戶行為數(shù)據數(shù)倉開發(fā)。
課程安排:
1、項目效果展示
2、項目的由來
3、什么是數(shù)據倉庫
4、數(shù)據倉庫基礎知識
5、數(shù)據倉庫分層
6、典型數(shù)倉系統(tǒng)架構分析
7、技術選型
8、整體架構設計
9、服務器資源規(guī)劃
10、生成用戶行為數(shù)據【客戶端數(shù)據】
11、生成商品訂單相關數(shù)據【服務端數(shù)據】
12、采集用戶行為數(shù)據【客戶端數(shù)據】
13、Sqoop安裝部署
14、Sqoop之數(shù)據導入功能
15、Sqoop之數(shù)據導出功能
16、采集商品訂單相關數(shù)據【服務端數(shù)據】
17、用戶行為數(shù)據數(shù)倉開發(fā)之ods層開發(fā)
18、用戶行為數(shù)據數(shù)倉開發(fā)之ods層腳本抽取
19、用戶行為數(shù)據數(shù)倉開發(fā)之dwd層開發(fā)
20、用戶行為數(shù)據數(shù)倉開發(fā)之dwd層腳本抽取
21、用戶行為數(shù)據數(shù)倉需求分析
22、用戶行為數(shù)據數(shù)倉需求開發(fā)
23、用戶行為數(shù)據數(shù)倉表和任務腳本總結
第13周 綜合項目:電商數(shù)據倉庫之商品訂單數(shù)倉
基于商品訂單數(shù)據開發(fā)數(shù)倉,詳細分析了拉鏈表的由來和具體實現(xiàn)。使用數(shù)據可視化工具Zepplin實現(xiàn)數(shù)據展現(xiàn),使用Azkaban調度器實現(xiàn)任務依賴調度。
課程安排:
1、商品訂單數(shù)據數(shù)倉開發(fā)之ods層和dwd層
2、商品訂單數(shù)據數(shù)倉需求分析與開發(fā)
3、什么是拉鏈表
4、如何制作拉鏈表
5、【實戰(zhàn)】基于訂單表的拉鏈表實現(xiàn)
6、拉鏈表的性能問題分析
7、商品訂單數(shù)據數(shù)倉表和任務腳本總結
8、數(shù)據可視化之Zepplin的安裝部署和參數(shù)配置
9、數(shù)據可視化之Zepplin的使用
10、任務調度之Crontab調度器的使用
11、任務調度之Azkaban的安裝部署
12、任務調度之Azkaban提交獨立任務
13、任務調度之Azkaban提交依賴任務
14、任務調度之在數(shù)倉中使用Azkaban
15、項目優(yōu)化
階段四:高頻實時數(shù)據處理方案
第14周 消息隊列之Kafka從入門到小牛
Kafka是一個支持高吞吐、持久性、分布式的消息隊列,非常適合海量數(shù)據的實時生產和消費,詳細分析了Kafka的核心原理、代碼實戰(zhàn)、性能優(yōu)化,以及Kafka的企業(yè)級應用。
課程安排:
1、什么是消息隊列
2、什么是Kafka
3、Zookeeper安裝部署之單機模式和集群模式
4、 Kafka安裝部署之單機模式和集群模式
5、Kafka中的生產者和消費者
6、案例:QQ群聊天
7、Broker擴展內容
8、Producer擴展內容
9、Consumer擴展內容
10、Topic+Partition+Message擴展內容
11、Kafka中的存儲策略
12、Kafka中的容錯機制
13、Java代碼實現(xiàn)生產者代碼
14、Java代碼實現(xiàn)消費者代碼
15、消費者代碼擴展
16、Consumer消費Offset查詢
17、Consumer消費順序
18、Kafka的三種語義
19、Kafka參數(shù)調憂之JVM參數(shù)調憂
20、Kafka參數(shù)調憂之Replication參數(shù)調憂
21、Kafka參數(shù)調憂之Log參數(shù)調憂
22、Kafka Topic命名小技巧
23、Kafka集群監(jiān)控管理工具(CMAK)
24、實戰(zhàn):Flume集成Kafka
25、實戰(zhàn):Kafka集群平滑升級
第15周 極速上手內存數(shù)據庫Redis
Redis是一種面向鍵值對的NoSQL內存數(shù)據庫,可以滿足我們對海量數(shù)據的讀寫需求,在這里我們學習Redis中的五種常用數(shù)據類型以及Redis中的一些高級特性,達到快速上手使用。
課程安排:
1、快速了解Redis
2、Redis的安裝部署
3、Redis基礎命令
4、Redis多數(shù)據庫特性
5、Redis常用數(shù)據類型之String
6、Redis常用數(shù)據類型之Hash
7、Redis常用數(shù)據類型之List
8、Redis常用數(shù)據類型之Set
9、Redis常用數(shù)據類型之Sorted Set
10、案例:存儲高一班的學員信息
11、Java代碼操作Redis之單連接
12、Java代碼操作Redis之連接池
13、提取RedisUtils工具類
14、Redis高級特性之expire
15、Redis高級特性之pipeline
16、Redis高級特性之info
17、Redis持久化之RDB
18、Redis持久化之AOF
19、Redis的安全策略
20、Redis監(jiān)控命令-monitor
21、Redis架構演進過程
第16周 Flink快速上手篇
快速了解Flink的基本原理和核心特點,掌握Flink中流數(shù)據和批數(shù)據的編程思路和代碼實戰(zhàn),F(xiàn)link中Standalone集群、ON YARN集群的安裝部署,以及Flink中核心API的使用。
課程安排:
1、快速了解Flink
2、Flink Streaming程序開發(fā)
3、Flink Batch程序開發(fā)
4、Flink Standalone集群安裝部署
5、Flink ON YARN的第1種方式
6、Flink ON YARN的第2種方式
7、向集群中提交Flink任務
8、Flink核心API介紹
9、DataStream API之DataSource
10、DataStream API之Transformation
11、DataStream API之分區(qū)規(guī)則介紹
12、DataStream API之分區(qū)規(guī)則的使用
13、DataStream API之DataSink
14、DataSet API之DataSource
15、DataSet API之Transformation
16、DataSet API之DataSink
17、Table API 和 SQL介紹
18、創(chuàng)建TableEnvironment對象
19、TableAPI和SQL的使用
20、使用DataStream創(chuàng)建表
21、使用DataSet創(chuàng)建表
22、將表轉換成DataStream
22、將表轉換成DataSet
第17周 Flink高級進階之路
詳細剖析Window和Time的使用,Watermark的實戰(zhàn)應用,并行度的設置,Kafka Connector的具體應用,以及SparkStreaming的特性和使用。
課程安排:
1、Window的概念和類型
2、TimeWindow的使用
3、CountWindow的使用
4、自定義Window的使用
5、Window中的增量聚合和全量聚合
6、Flink中的Time
7、Watermark的分析
8、開發(fā)Watermark代碼
9、通過數(shù)據跟蹤觀察Watermark
10、Watermark+EventTime處理亂序數(shù)據
11、延遲數(shù)據的三種處理方式
12、在多并行度下的Watermark應用
13、Watermark案例總結
14、并行度介紹及四種設置方式
15、并行度案例分析
16、KafkaConsumer的使用
17、KafkaConsumer消費策略設置
18、KafkaConsumer的容錯
19、KafkaProducer的使用
20、KafkaProducer的容錯
21、SparkStreaming的WordCount程序開發(fā)
22、SparkStreaming整合Kafka
階段五:綜合項目:三度關系推薦系統(tǒng)+數(shù)據中臺
第18周 直播平臺三度關系推薦V1.0
構建直播平臺用戶三度關系推薦系統(tǒng),詳細分析數(shù)據采集/數(shù)據分發(fā)/數(shù)據存儲/數(shù)據計算/數(shù)據展現(xiàn)等功能,完整復現(xiàn)互聯(lián)網企業(yè)大數(shù)據項目從0~1,從1~N的開發(fā)過程。
課程安排:
1、項目介紹
2、項目需求分析
3、技術選型
4、整體架構設計
5、Neo4j快速上手使用
6、數(shù)據采集架構詳細分析
7、數(shù)據來源分析
8、模擬產生數(shù)據
9、數(shù)據采集聚合
10、數(shù)據分發(fā)
11、數(shù)據落盤
12、數(shù)據計算核心指標詳細分析與實現(xiàn)
13、三度關系推薦頁面數(shù)據接入
14、三度關系推薦流程演示
15、項目代碼雙語支持
16、項目總結
第19周 直播平臺三度關系推薦V2.0
分析V1.0架構存在的問題及弊端,重新設計整體架構方案,進行迭代優(yōu)化,基于新的架構方案重新實現(xiàn)核心功能代碼,開發(fā)數(shù)據接口,優(yōu)化數(shù)據傳輸邏輯,提高數(shù)據安全性。
課程安排:
1、現(xiàn)有V1.0技術架構分析
2、V2.0技術架構設計
3、數(shù)據計算核心指標詳細分析
4、歷史粉絲關注數(shù)據初始化
5、實時維護粉絲關注數(shù)據
6、每天定時更新主播等級
7、每天定時更新用戶活躍時間
8、每周一計算一月主播視頻評級
9、每周一計算一月主播視頻評級
10、三度關系列表數(shù)據導出到Redis
11、數(shù)據接口定義與開發(fā)
12、項目代碼雙語支持
13、項目總結
第20周 數(shù)據中臺大屏
掌握一線互聯(lián)網企業(yè)數(shù)據中臺構建流程,了解巨頭企業(yè)的項目架構,理解巨型項目的思想,掌握數(shù)據中臺之數(shù)據加工總線子系統(tǒng)的底層實現(xiàn)。
課程安排:
1、什么是中臺
2、中臺化主要解決的問題
3、中臺的延伸
4、什么是數(shù)據中臺
5、數(shù)據中臺演進的四個階段
6、數(shù)據中臺需要具備三大能力
7、企業(yè)級數(shù)據中臺架構分析
9、目前大數(shù)據領域實時計算的現(xiàn)狀
10、數(shù)據中臺之數(shù)據加工總線介紹
11、數(shù)據加工總線架構圖分析
12、開發(fā)數(shù)據加工總線計算引擎(基于SparkSQL)
13、開發(fā)數(shù)據加工總線計算引擎(基于FlinkSQL)
14、掌握如何在流式SQL中調用HTTP接口
15、支持流式SQL中的自定義函數(shù)返回多列字段