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