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