1. 程式人生 > >大資料雲端計算學習路線

大資料雲端計算學習路線

課程一、大資料運維之Linux基礎

本部分是基礎課程,幫大家進入大資料領域打好Linux基礎,以便更好地學習Hadoop,hbase,NoSQL,Spark,Storm, docker,openstack等眾多課程。因為企業 中的專案基本上都是使用Linux環境下搭建或部署的。

1)Linux系統概述
2)系統安裝及相關配置
3)Linux網路基礎
4)OpenSSH實現網路安全連線
5)vi文字編輯器

6)使用者和使用者組管理
7)磁碟管理
8)Linux檔案和目錄管理
9)Linux終端常用命令
10)linux系統監測與維護

課程二、大資料開發核心技術 - Hadoop 2.x從入門到精通

本課程是整套大資料課程的基石:其一,分散式檔案系統HDFS用於儲存海量資料,無論是Hive、HBase或者Spark資料儲存在 其上面;其二是分散式資源管理框架YARN,是Hadoop 雲作業系統(也稱資料系統),管理叢集資源和分散式資料處理框架 MapReduce、Spark應用的資源排程與監控;分散式平行計算框架MapReduce目前是海量資料並行處理的一個最常用的框架。 Hadoop 2.x的編譯、環境搭建、HDFS Shell使用,YARN 叢集資源管理與任務監控,MapReduce編 程,分散式叢集的部署管理(包括高可用性HA)必須要掌握的。
一、初識Hadoop 2.x

1)大資料應用發展、前景
2)Hadoop 2.x概述及生態系統
3)Hadoop 2.x環境搭建與測試

二、深入Hadoop 2.x

1)HDFS檔案系統的架構、功能、設計
2)HDFS Java API使用
3)YARN 架構、叢集管理、應用監控
4)MapReduce程式設計模型、Shuffle過程、程式設計調優

三、高階Hadoop 2.x

1)分散式部署Hadoop 2.x
2)分散式協作服務框架Zookeeper
3)HDFS HA架構、配置、測試
4)HDFS 2.x中高階特性
5)YARN HA架構、配置
6)Hadoop 主要發行版本(CDH、HDP、Apache)

四、實戰應用

1)以【北風網使用者瀏覽日誌】資料進行實際的分析 2)原資料採集 3)資料的預處理(ETL) 4)資料的分析處理(MapReduce)

課程三、大資料開發核心技術 - 大資料倉庫Hive精講

hive是基於Hadoop的一個數據倉庫工具,可以將結構化的資料檔案對映為一張資料庫表,並提供簡單的sql查詢功能,可以將 sql語句轉換為MapReduce任務進行執行。其優點是學習成本低,可以通類SQL語句快速實現簡單的MapReduce統計, 不必開發專門的MapReduce應用,十分適合資料倉庫的統計分析。
一、Hive 初識入門

1)Hive功能、體系結構、使用場景
2)Hive環境搭建、初級使用
3)Hive原資料配置、常見互動方式

二、Hive深入使用

1)Hive中的內部表、外部表、分割槽表
2)Hive 資料遷移
3)Hive常見查詢(select、where、distinct、join、group by)
4)Hive 內建函式和UDF程式設計

三、Hive高階進階

1)Hive資料的儲存和壓縮
2)Hive常見優化(資料傾斜、壓縮等)

四、結合【北風網使用者瀏覽日誌】實際案例分析

1)依據業務設計表
2)資料清洗、匯入(ETL)
3)使用HiveQL,統計常見的網站指標

課程四、大資料協作框架 - Sqoop/Flume/Oozie精講

Sqoop是一款開源的工具,主要用於在Hadoop(Hive)與傳統的資料庫(mysql、postgresql...)間進行資料的傳遞,可以將一個 關係型資料庫(例如 : MySQL ,Oracle ,Postgres等)中的資料導進到關係型資料庫中。Sqoop專案開始於2009年, 最早是作為Hadoop的一個第三方模組存在,後來為了讓使用者能夠快速部署,也為了讓開發人員能夠更快速的迭代開發, Sqoop獨立成為一個Apache專案。
一、資料轉換工具Sqoop

1)Sqoop功能、使用原則
2)將RDBMS資料匯入Hive表中(全量、增量)
3)將HDFS上檔案匯出到RDBMS表中

二、檔案收集框架Flume

1)Flume 設計架構、原理(三大元件)
2)Flume初步使用,實時採集資料
3)如何使用Flume監控資料夾資料,實時採集錄入HDFS中 4)任務排程框架Oozie

三、Oozie功能、安裝部署

1)使用Oozie排程MapReduce Job和HiveQL
2)定時排程任務使用

課程五、大資料Web開發框架 - 大資料WEB 工具Hue精講

Hue是一個開源的Apache Hadoop UI系統,最早是由Cloudera Desktop演化而來,由Cloudera貢獻給開源社群,它是基於 Python Web框架Django實現的。通過使用Hue我們可以在瀏覽器端的Web控制檯上與Hadoop叢集進行互動來分析處理資料, 例如操作HDFS上的資料,執行MapReduce Job等等。

1)Hue架構、功能、編譯
2)Hue整合HDFS
3)Hue整合MapReduce

4)Hue整合Hive、DataBase
5)Hue整合Oozie

課程六、大資料核心開發技術 - 分散式資料庫HBase從入門到精通

HBase是一個分散式的、面向列的開源資料庫,該技術來源於 Fay Chang 所撰寫的Google論文“Bigtable:一個結構化資料 的分散式儲存系統”。HBase在Hadoop之上提供了類似於Bigtable的能力,是一個高可靠性、高效能、面向列、可伸縮的 分散式儲存系統,利用HBase技術可在廉價PC Server上搭建起大規模結構化儲存叢集
一、HBase初窺使用

1)HBase是什麼、發展、與RDBMS相比優勢、企業使用
2)HBase Schema、表的設計
3)HBase 環境搭建、shell初步使用(CRUD等)

二、HBase 深入使用

1)HBase 資料儲存模型
2)HBase Java API使用(CRUD、SCAN等)
3)HBase 架構深入剖析
4)HBase 與MapReduce整合、資料匯入匯出

三、HBase 高階使用

1)如何設計表、表的預分割槽(依據具體業務分析講解)
2)HBase 表的常見屬性設定(結合企業實際)
3)HBase Admin操作(Java API、常見命令)

四、【北風網使用者瀏覽日誌】進行分析

1)依據需求設計表、建立表、預分割槽
2)進行業務查詢分析
3)對於密集型讀和密集型寫進行HBase引數調優

課程七、大資料核心開發技術 - Storm實時資料處理

Storm是Twitter開源的分散式實時大資料處理框架,被業界稱為實時版Hadoop。 隨著越來越多的場景對Hadoop的 MapReduce高延遲無法容忍,比如網站統計、推薦系統、預警系統、金融系統(高頻交易、股票)等等, 大資料實時處理 解決方案(流計算)的應用日趨廣泛,目前已是分散式技術領域最新爆發點,而Storm更是流計算技術中的佼佼者和主流。  按照storm作者的說法,Storm對於實時計算的意義類似於Hadoop對於批處理的意義。Hadoop提供了map、reduce原語, 使我們的批處理程式變得簡單和高效。 同樣,Storm也為實時計算提供了一些簡單高效的原語,而且Storm的Trident是基於 Storm原語更高階的抽象框架,類似於基於Hadoop的Pig框架, 讓開發更加便利和高效。本課程會深入、全面的講解Storm, 並穿插企業場景實戰講述Storm的運用。 淘寶雙11的大螢幕實時監控效果衝擊了整個IT界,業界為之驚歎的同時更是引起對 該技術的探索。 學完本課程你可以自己開發升級版的“淘寶雙11”,還等什麼?

1)Storm簡介和課程介紹
2)Storm原理和概念詳解
3)Zookeeper叢集搭建及基本使用
4)Storm叢集搭建及測試
5)API簡介和入門案例開發
6)Spout的Tail特性、storm-starter及maven使用、Grouping策略
7)例項講解Grouping策略及併發
8)併發度詳解、案例開發(高併發運用)
9)案例開發——計算網站PV,通過2種方式實現彙總型計算。
10)案例優化引入Zookeeper鎖控制執行緒操作
11)計算網站UV(去重計算模式)
12)【運維】叢集統一啟動和停止shell指令碼開發
13)Storm事務工作原理深入講解 14)Storm事務API及案例分析

15)Storm事務案例實戰之 ITransactionalSpout 
16)Storm事務案例升級之按天計算
17)Storm分割槽事務案例實戰
18)Storm不透明分割槽事務案例實戰
19)DRPC精解和案例分析
20)Storm Trident 入門
21)Trident API和概念
22)Storm Trident實戰之計算網站PV
23)ITridentSpout、FirstN(取Top N)實現、流合併和Join
24)Storm Trident之函式、流聚合及核心概念State
25)Storm Trident綜合實戰一(基於HBase的State)
26)Storm Trident綜合實戰二
27)Storm Trident綜合實戰三
28)Storm叢集和作業監控告警開發

課程八、Spark技術實戰之基礎篇 -Scala語言從入門到精通

為什麼要學習Scala?源於Spark的流行,Spark是當前最流行的開源大資料記憶體計算框架,採用Scala語言實現,各大公司 都在使用Spark:IBM宣佈承諾大力推進 Apache Spark專案,並稱該專案為:在以資料為主導的,未來十年最為重要的新的開源專案。這一承諾的 核心是將Spark嵌入IBM業內領先的分析和商務平臺, Scala具有資料處理的天然優勢,Scala是未來大資料處理的主流語言

1)-Spark的前世今生
2)-課程介紹、特色與價值
3)-Scala程式設計詳解:基礎語法
4)-Scala程式設計詳解:條件控制與迴圈
5)-Scala程式設計詳解:函式入門
6)-Scala程式設計詳解:函式入門之預設引數和帶名引數
7)-Scala程式設計詳解:函式入門之變長引數
8)-Scala程式設計詳解:函式入門之過程、lazy值和異常
9)-Scala程式設計詳解:陣列操作之Array、ArrayBuffer以及遍歷陣列
10)-Scala程式設計詳解:陣列操作之陣列轉換

11)-Scala程式設計詳解:Map與Tuple
12)-Scala程式設計詳解:面向物件程式設計之類
13)-Scala程式設計詳解:面向物件程式設計之物件
14)-Scala程式設計詳解:面向物件程式設計之繼承
15)-Scala程式設計詳解:面向物件程式設計之Trait
16)-Scala程式設計詳解:函數語言程式設計
17)-Scala程式設計詳解:函數語言程式設計之集合操作
18)-Scala程式設計詳解:模式匹配
19)-Scala程式設計詳解:型別引數
20)-Scala程式設計詳解:隱式轉換與隱式引數
21)-Scala程式設計詳解:Actor入門

課程九、大資料核心開發技術 - 記憶體計算框架Spark精講

Spark是UC Berkeley AMP lab所開源的類Hadoop MapReduce的通用並行框架,Spark, 擁有Hadoop MapReduce所具有的優點。啟用了記憶體分佈資料集,除 了能夠提供互動式查詢外,它還可以優化迭代工作負載。Spark Streaming: 構建在Spark上處理Stream資料的框架, 基本的原理是將Stream資料分成小的時間片斷 (幾秒),以類似batch批量處理的方式來處理這小部分資料

1)Spark 初識入門
2)Spark 概述、生態系統、與MapReduce比較
3)Spark 編譯、安裝部署(Standalone Mode)及測試
4)Spark應用提交工具(spark-submit,spark-shell)
5)Scala基本知識講解(變數,類,高階函式)
6)Spark 核心RDD
7)RDD特性、常見操作、快取策略
8)RDD Dependency、Stage常、原始碼分析
9)Spark 核心元件概述

10)案例分析
11)Spark 高階應用
12)Spark on YARN執行原理、執行模式及測試
13)Spark HistoryServer歷史應用監控
14)Spark Streaming流式計算
15)Spark Streaming 原理、DStream設計
16)Spark Streaming 常見input、out
17)Spark Streaming 與Kafka整合
18)使用Spark對【北風網使用者瀏覽日誌】進行分析

課程十、大資料核心開發技術 - Spark深入剖析

本課程主要講解目前大資料領域熱門、火爆、有前景的技術——Spark。在本課程中,會從淺入深, 基於大量案例實戰,深度剖析和講解Spark,並且會包含 完全從企業真實複雜業務需求中抽取出的案例實戰。課程會涵蓋Scala程式設計詳解、Spark核心程式設計.

1)Scala程式設計、Hadoop與Spark叢集搭建、Spark核心程式設計、Spark核心原始碼深度剖析、Spark效能調優
2)Spark原始碼剖析

課程十一、企業大資料平臺高階應用

本階段主要就之前所學內容完成大資料相關企業場景與解決方案的剖析應用及結合一個電子商務平臺進行實戰分析, 主要包括有: 企業大資料平臺概述、搭建企業 大資料平臺、真實伺服器手把手環境部署、使用CM 5.3.x管理CDH 5.3.x叢集

1)企業大資料平臺概述
2)大資料平臺基本元件
3)Hadoop 發行版本、比較、選擇
4)叢集環境的準備(系統、基本配置、規劃等)
5)搭建企業大資料平臺
6)以實際企業專案需求為依據,搭建平臺
7)需求分析(主要業務)
8)框架選擇(Hive\HBase\Spark等)

9)真實伺服器手把手環境部署
10)安裝Cloudera Manager 5.3.x
11)使用CM 5.3.x安裝CDH 5.3.x
12)如何使用CM 5.3.x管理CDH 5.3.x叢集
13)基本配置,優化
14)基本效能測試
15)各個元件如何使用

課程十二、專案實戰:驢媽媽旅遊網大型離線資料電商分析平臺

離線資料分析平臺是一種利用hadoop叢集開發工具的一種方式,主要作用是幫助公司對網站的應用有一個比較好的瞭解。 尤其是在電商、旅遊、銀行、證券、遊戲 等領域有非常廣泛,因為這些領域對資料和使用者的特性把握要求比較高,所以對於離線資料的分析就有比較高的要求了。  本課程講師本人之前在遊戲、旅遊等公司 專門從事離線資料分析平臺的搭建和開發等,通過此專案將所有大資料內容貫穿,並前後展示!

1)Flume、Hadoop、Hbase、Hive、Oozie、Sqoop、離線資料分析,SpringMVC,Highchat
2)Flume+Hadoop+Hbase+SpringMVC+MyBatis+MySQL+Highcharts實現的電商離線資料分析
3)日誌收集系統、日誌分析、資料展示設計

課程十三、專案實戰:基於1號店的電商實時資料分析系統

課程基於1號店的業務及資料進行設計和講解的,主要涉及 1、課程中完整開發3個Storm專案,均為企業實際專案,其中一個是完全由Storm Trident開發。 專案原始碼均可以直接執行, 也可直接用於商用或企業。 2、每個技術均採用最新穩定版本,學完後會員可以從Kafka到Storm專案開發及HighCharts圖表開發一個人搞定! 3、搭建CDH5生態環境完整平臺,且採用Cloudera Manager介面化管理CDH5平臺。 讓Hadoop平臺環境搭建和維護都變得輕而易舉。 4、分享實際專案的架構設計、優劣分析和取捨、經驗技巧

1)全面掌握Storm完整專案開發思路和架構設計
2)掌握Storm Trident專案開發模式
3)掌握Kafka運維和API開發、與Storm介面開發
4)掌握HighCharts各類圖表開發和實時無重新整理載入資料
5)熟練搭建CDH5生態環境完整平臺

6)靈活運用HBase作為外部儲存
7)可以做到以一己之力完成從後臺開發(Storm、Kafka、Hbase開發)
到前臺HighCharts圖表開發、Jquery運用等,所有工作一個人搞定!
可以一個人搞定淘寶雙11大螢幕專案!

課程十四、專案實戰: 基於某電商網站的大型離線電商資料分析平臺

本專案使用了Spark技術生態棧中最常用的三個技術框架,Spark Core、Spark SQL和Spark Streaming,進行離線計算和實時 計算業務模組的開發。實現了包括用 戶訪問session分析、頁面單跳轉化率統計、熱門商品離線統計、廣告點選流量實時統計4個業務模組。過合理的將實際業務模 塊進行技術整合與改造,該專案完全 涵蓋了Spark Core、Spark SQL和Spark Streaming這三個技術框架中幾乎所有的功能點、知識點以及效能優化點。 僅一個專案,即可全面掌握Spark技術在實際項 目中如何實現各種型別的業務需求!在專案中,重點講解了實際企業專案中積累下來的寶貴的效能調優、 troubleshooting以及資料傾斜解決方案等知識和技術

1)真實還原完整的企業級大資料專案開發流程:專案中採用完全還原企業大資料專案開發場景的方式來講解,每一個業務模組的講解都包括了資料分
析、需求分析、方案設計、資料庫設計、編碼實現、功能測試、效能調優、troubleshooting與解決資料傾斜(後期運維)等環節,真實還原
企業級大資料專案開發場景。讓學員掌握真實大資料專案的開發流程和經驗!
2)現場Excel手工畫圖與寫筆記:所有複雜業務流程、架構原理、Spark技術原理、業務需求分析、技術實現方案等知識的講解,採用Excel畫
圖或者寫詳細比較的方式進行講解與分析,細緻入微、形象地透徹剖析理論知識,幫助學員更好的理解、記憶與複習鞏固。

課程十五、大資料高薪面試剖析

本階段通過對歷來大資料公司企業真實面試題的剖析,講解,讓學員真正的一個菜鳥轉型為具有1年以上的大資料開發 工作經驗的專業人士,也是講師多年來大資料 企業開發的經驗之談。

1)大資料專案
2)企業大資料專案的型別
3)技術架構(如何使用各框架處理資料)
4)衝刺高薪面試
5)面試簡歷編寫(把握重點要點)
6)面試中的技巧

7)常見面試題講解
8)如何快速融入企業進行工作

(對於大資料公司來說非常關鍵)
9)學員答疑
10)針對普遍問題進行公共解答
11)一對一的交流