回顧2018年,降薪、裁員、互聯網寒冬似乎成為主旋律,那實際上資本市場萎縮了嗎?
其實不然,2018年6月,螞蟻金服還獲得140億融資,而熱度較高的大數據行業,在2018年的融資額達到1273.1億元,是2017年的2倍。所以對于市場來說好的項目、好的行業永遠值得被投資。
目前,一個大數據工程師月薪輕松過萬,一個有幾年工作經驗的數據分析師,薪酬在40萬~60萬元之間,而更頂尖的大數據技術人才則是年薪輕松超百萬,就連大數據開發應屆生的也早已輕松領20萬年薪。
01
五位一線大咖坐鎮
02
課程歷經四次迭代,技術時刻保持最新
03
全程直播,實時解決問題不留疑點
04
隨堂作業,助教跟班,保證教學質量
05
五大實戰項目,對接企業需求
課程簡介
■15個重點模塊,212個知識點
相較于前幾期課程,本期課程在細節技術材料及課件上做了更新外,本次新增了《spark ML算法》模塊鞏固底層知識,以及《JAVA性能優化和分布式中間件》模塊有針對性的拔高。
2019大數據實戰大綱(全棧型)
一.linux 操作系統
在企業中無一例外的是使用 Linux 來搭建或部署項目,在平常我們也經常在Linux環境下進行開發。進入大數據領域就要打好 Linux 基礎,以便更好地學習Hadoop,Kafka,Spark,Storm,redis 等眾多課程。
1.Linux來源與發展狀況
2.Linux常見發行版
3.Linux安裝
4.Linux版本信息
5.Linux基礎操作命令
6.Linux目錄結構介紹
7.Linux系統用戶賬號管理
8.Linux系統用戶組管理
9.Linux系統用戶相關文件講解
10.Linux sudo權限說明
11.Linux常用文件命令
12.Linux常用目錄命令
13.Linux文件信息查看
14.Linux文件與目錄統計技巧
15.Linux文件屬性
16.Linux文件類型
17.Linux文件與目錄查找技巧
18.Linux文本文件操作
19.Linux文件權限,壓縮與解壓縮
20.Linux系統運行與進程運行信息
21.Linux查看磁盤空間
22.Linux環境變量
23.Linux Shell編程
24.Linux進程的查看與終結
25.Linux輸入輸出與重定向
26.Linux遠程登錄與重定向
實戰項目:編寫一個每天清理個人目錄下.log后綴文件的腳本,清理到自定義回收站,每天兩點執行。
二.Hadoop生態圈(離線計算)
Hadoop是一種分析和處理大數據的軟件平臺,是Appach的一個用Java語言所實現的開源軟件的加框,在大量計算機組成的集群當中實現了對于海量的數據進行的分布式計算。在本章節中不僅將用到前面的 Linux 知識,而且會對 hadoop 的架構有深入的理解,并未你以后架構大數據項目打下堅實基礎
Hadoop
1.hadoop 介紹,發展簡史,誕生來由
2.hadoop 生態圈體系結構,組件說明
3.hadoop 偽分布式環境搭建及完全分布式環境說明
4.Hadoop安全認證方面的講解
5.Hadoop集群如何擴容
HDFS
1.HDFS分布式文件系統說明
2.HDFS block概念
3.HDFS namenode ,datanode 詳解
4.HDFS HA 詳解
5.HDFS命令行接口,讀取數據
6.HDFS命令行接口,寫?數據
7.HDFS命令行接口,刪除數據
8.HDFS命令行接口,distcp跨集群分布式拷?數據
9.HDFS壓縮和分片
10.HDFS文件格式:textfile,sequencefile,rcfile,orcfile,parquet
11.HDFS各類文件格式比較
YARN
1.經典的Mapreduce 1結構弊端
2.Mapreduce 2 中YARN的引入
3.YARN的核心結構說明
4.YARN的?作機制
5.YARN的架構剖析
6.YARN 內置調度器:公平調度和容量調度
7.YARN上任務的執行環境
8.YARN上任務的推測執行機制
9.YARN上任務的JVM重用
Mapreduce
1.MapReduce整體流程說明
2.MapReduce目錄輸入,多目錄輸入,inputformat子類介紹
3.Mapreduce map 過程
4.Mapreduce combine過程
5.Mapreduce reduce 過程
6.Mapreduce結果輸出,outputformat子類介紹
7.MapReduce世界的helloword之wordcount操作演練
8.MapReduce Wordcount 項?打包,運?
9.MapReduce 內置計數器含義講解
10.Mapreduce 實例講解之全排序
11.Mapreduce 實例講解之部分排序
12.Mapreduce 實例講解之 join map端連接
13.Mapreduce 實例講解之 join reduce端連接
14.Mapreduce 實例講解之矩陣相乘
15.Mapreduce自定義的format
16.Mapreduce MRUnit單元測試使用
Hadoop Streaming
1.hadoop streaming引入的目的
2.Hadoop streaming機制講解
3.使用Python編寫 hadoop streaming
4.使用Shell 編寫 hadoop streaming
實戰項目: 分別使用原生mr和python版本的hadoop streaming,編寫數據清洗,數據處理,壓縮邏輯,結果dump到hdfs。
三.Hive(數據倉庫)
Hive是基于Hadoop的一個數據倉庫工具,可以將結構化的數據文件映射為一張數據庫表,并提供簡單的SQL查詢功能,可以將SQL語句轉換為MapReduce任務進行運行。其優點是學習成本低,可以通過類SQL語句快速實現簡單的MapReduce統計,不必開發專門的MapReduce應用,十分適合數據倉庫的統計分析 。Hive是工作中最常用到的部分,也是面試的重點。
1.Hive 簡介
2.Hive Hbase Pig三者的不同點
3.Hive 系統架構
4.Hive 安裝搭建與常用參數配置
5.Hive shell命令使用
6.Hive 數據庫數據表操作
7.Hive 數據導出
8.Hive 數據加載
9.Hive 外部表與分區表講解
10.HiveQL 常?語句
11.HiveServer2講解
12.Hive 函數介紹
13.Hive 分析函數與窗口函數
14.Hive ?定義UDF / UDAF函數
15.Hive 優化和安全
實戰項目:結合flume等框架的日志處理
四.Sqoop(數據遷移工具)
sqoop 主要用于在Hadoop(Hive)與傳統的數據庫(MySQL、postgresql...)間進行數據的傳遞,可以將一個關系型數據庫中的數據導進到Hadoop的HDFS中,也可以將HDFS的數據導進到關系型數據庫中。
1.Sqoop框架介紹
2.Sqoop框架原理分析
3.Sqoop框架安裝步驟演示
4.Sqoop1和Sqoop2分析對比
5.Sqoop深入了解數據庫導入原理
6.Sqoop導出數據原理分析
7.Sqoop 設置存儲格式與使?壓縮
8.Sqoop導入數據到hdfs分析實戰
9.Sqoop 增量導?功能代碼實現
10.Sqoop RDBMS與Hive的操作演示
備注:sqoop主要是源碼分析和API使用,考慮到中小型公司使用頻次,將會在項目中演示用法。
五.HBase(分布式數據庫)
HBase是一個開源的非關系型分布式數據庫(NoSQL),它參考了谷歌的BigTable建模,實現的編程語言為 Java。HBase在列上實現了BigTable論文提到的壓縮算法、內存操作和布隆過濾器。HBase的表能夠作為MapReduce任務的輸入和輸出,可以通過Java API來訪問數據。也可以通過REST、Avro或者Thrift的API來訪問。
雖然最近性能有了顯著的提升,HBase 還不能直接取代SQL數據庫。如今,它已經應用于多個數據驅動型網站,包括 Facebook的消息平臺
1.HBase 綜合概述
2.HBase 數據庫特點
3.HBase 搭建
4.HBase Shell 操作講解
5.HBase Java API 講解
6.HBase 協處理器使用
7.HBase 與Mapreduce集成使用講解
8.HBase backup master講解
9.HBase 數據模型講解
10.HBase 數據庫數據存儲與讀取思想講解
11.HBase 數據在線備份思路講解
12.HBase 數據遷移與導入方案講解
13.Region 尋址?式
14.HBase 二級索引構建方案
15.HBase RowKey設計原則
16.HBase 性能調優
六.Flume(分布式日志收集系統)
Flume是Cloudera提供的一個高可用的,高可靠的,分布式的海量日志采集、聚合和傳輸的系統,Flume支持在日志系統中定制各類數據發送方,用于收集數據;同時,Flume提供對數據進行簡單處理,并寫到各種數據接受方(可定制)的能力。
1.Flume框架原理和應用場景分析
2.Flume框架使用場景分析
3.Flume概述以及原理解析
4.Flume中Event的概念和Socket的關聯
5.Flume運行機制分析
6.NetCat Source源碼分析
7.Flume agent原理說明和shell配置
實戰項目:Flume和HDFS的結合使用,在HDFS中采集數據,收集Hive運行的目錄到hdfs文件系統。
七、Scala 課程
Scala是一門多范式的編程語言,一種類似java的編程語言 ,設計初衷是實現可伸縮的語言 、并集成面向對象編程和函數式編程的各種特性。
1.scala 環境配置
2.scala 體系結構
3.scala 解釋器、變量、常用數據類型等
4.scala 的條件表達式、輸入輸出、循環等控制結構
5.scala 的函數、默認參數、變長參數等
6.scala 的數組、變長數組、多維數組等
7.scala 的映射、元組等操作
8.scala 的類,包括 bean 屬性、輔助構造器、主構造器等
9.scala 的對象、單例對象、伴生對象、擴展類、apply 方法等
10.scala 的包、引入、繼承等概念
11.scala 的特質
12.scala 的操作符
13.scala異常處理
八.Kafka(流處理平臺)
Kafka 是在大數據流處理場景中經常使用的分布式消息系統,配合 Spark 內存計算框架, 是流處理場景中的黃金組合。本課程以實戰的方式學習 Kafka 分布式消息系統,包括 Kafka 的安裝配置、Producer API 的使用、Consumer API 的使用以及與第三方框架(Flume、 Spark Streaming)的集成開發。每個知識點的學習,都有編程實戰和操作實戰,用眼見為 實的方式學習抽象的理論概念。
1.Kafka 入門
2.Kafka 集群搭建理論與實踐
3.Kafka Topic 實戰
4.Kafka 開發 Producer 理論與實踐
5.Kafka 開發 consumer 理論與實踐
6.Kafka 發送和接收結構化數據
7.Kafka 發送和接收非結構化數據
8.Kafka 整合 Flume 框架
9.spark 讀取 kafka 數據
九、Spark Core
Spark 內存計算框架,是當前最流行的大數據計算框架,Spark 已經成為大數據開發人員以 及數據科學家的必備工具。
本課程主要學習 Spark Core 的內容。包括 Spark 集群安裝、Spark 開發環境搭建,Spark Core 編程模型、Spark 程序運行原理、Spark 性能調優等。
1.Spark 的起源及其哲學思想
2.Spark 集群的安裝、啟動、測試
3.Spark 基本架構及 API 介紹
4.Spark 開發環境搭建并開發運行 wordCount 程序(Scala、 Java)
5.wordCount 程序的集群部署及 Spark UI 簡介
6.Spark 計算框架的核心抽象--RDD(理論及入門)
7.Spark RDD創建實戰(Scala、 Java)
8.Spark RDD 操作--transformation 算子實戰(Scala、 Java)
9.Spark RDD 操作--action 算子實戰(Scala、 Java)
10.Spark RDD計算結果保存實戰(Scala、 Java)
11.Spark RDD 緩存及持久化實戰(Scala、 Java)
12.Spark 分布式共享變量實戰--累加器和廣播變量(Scala、 Java)
13.Spark 程序集群部署方式實戰
14.Spark 程序運行流程分析
15.Spark 程序的監控和調試
16.Spark 內核解讀
17.Spark 性能調優(shuffle)
18.Spark Core 數據分析實戰
19. Spark內存管理模型
20. Spark性能調優(shuffle)
21. Spark源碼閱讀入門
十.Spark SQL
很多初學者,對大數據的概念都是模糊不清的,大數據是什么,能做什么,學的時候,該按照什么線路去學習,學完往哪方面發展,想深入了解,想學習的同學歡迎加入大數據學習扣扣群:740041381,有大量干貨(零基礎以及進階的經典實戰)分享給大家,并且有清華大學畢業的資深大數據講師給大家免費授課,給大家分享目前國內最完整的大數據高端實戰實用學習流程體系。
本課程將深入淺出學習 Spark 的結構化 API(DataFrame、Dataset 和 SQL)。SparkSQL 是在大數據項目中,Spark 開發工程師經常使用的 Spark 模塊,除了深入講解 SparkSQL 本身的每個知識點、SparkSQL 性能調優,還會涉及到 HDFS、Hive、HBase、MongoDB、 Oracle、MySQL 等第三方數據存儲框架。每個知識點都以代碼實戰的方式講解,知其然,更知其所以然。
1.Spark SQL 背景介紹
2.SparkSQL、 DataFrame、 Dataset 之間的關系
3.SparkSQL 概述
4.SparkSQL 數據類型
5.SparkSQL join 操作實戰
6.SparkSQL 讀寫數據實戰
7.SparkSQL 操作 Hive 中的數據
8.SparkSQL 調優
9.SparkSQL 數據分析案例實戰
10. Spark SQL join操作實戰及調優
11. SparkSQL UDAF開發實戰
12. SparkSQL窗口函數實戰
13. SparkSQL數據分析案例1(購物網站數據分析)
14. SparkSQL數據分析案例2(交通車輛—套牌車分析)
十一.Spark Streaming(流處理平臺)
Spark streaming是Spark核心API的一個擴展,它對實時流式數據的處理具有可擴展性、高吞吐量、可容錯性等特點。我們可以從kafka、flume、Twitter、 ZeroMQ、Kinesis等源獲取數據,也可以通過由高階函數map、reduce、join、window等組成的復雜算法計算出數據。最后,處理后的數據可以推送到文件系統、數據庫、實時儀表盤中。事實上,你可以將處理后的數據應用到Spark的機器學習算法、 圖處理算法中去。
1.Spark Streaming 框架機制
2.Spark Streaming 時間和窗口的概念
3.Spark Streaming DStream和RDD的關系
4.Spark Streaming 性能調優
5. Spark Streaming整合Kafka的兩種方式
6. SparkStreaming整合kafka:如何實現exactly once消費語義
7. Spark Streaming數據分析案例:黑名單過濾
實戰項目:讀取kafka數據做聚合處理,條件過濾后寫入HDFS
十二、Spark ML(機器學習算法)
理論基礎:Spark MLlib 概述、數據結構、應用場景Spark實現回歸算法、分類算法、算法原理概述等。
1. 推薦系統介紹和系統原理
2. 推薦系統中的個性化推薦 - 召回算法
3. 推薦系統中的個性化推薦 - 排序算法
4. 基于Spark mllib回歸算法、分類算法 ,協同過濾算法
5. 大規模機器學習平臺(Angle)
十三.Storm (分布式實時數據計算系統)
Storm是一個開源的分布式實時計算系統,可以簡單、可靠的處理大量的數據流。而且支持水平擴展,具有高容錯性,保證每個消息都會得到處理。Storm處理速度很快(在一個小集群中,每個結點每秒可以處理數以百萬計的消息)。
Storm的部署和運維都很便捷,更為重要的是可以使用任意編程語言來開發應用。
1.Storm 簡介
2.Storm 原理和概念
3.Storm 與 Hadoop 的對比
4.Storm 環境搭建
5.Storm API 入門
6.Storm Spout
7.Storm Grouping策略及并發度
8.Storm 優化引入zoolkeeper鎖控制線程
9.Storm 去重模式
10.Storm shell腳本開發
11.Storm 批處理事務
12.Storm 普通事務分區事務
13.Storm 按天計算
14.Storm 不透明分區事務
15.Storm 事務
16.Storm Trident
十四、Java性能優化和分布式中間件探析
1.再談JVM 內存模型
2.JVM算法和垃圾回收機制
3.JVM生產環境監控命令和指標
4.JVM面試常考點分析
5.Java多線程實戰
6.Java鎖機制分析和優化
7.Kafka 和 ZooKeeper 的分布式消息隊列原理
8.5.ZK在kafka的作用,分布式環境中Leader機制和算法研讀






