以下介紹的課程主要針對零基礎大資料工程師每個階段進行通俗易懂簡易介紹,方面大家更好的瞭解大資料學習課程。課程框架是科多大資料的零基礎大資料工程師課程。
一、 第一階段:靜態網頁基礎(HTML+CSS)
1. 難易程度:一顆星
2. 課時量(技術知識點+階段專案任務+綜合能力)
3. 主要技術包括:html常用標籤、CSS常見佈局、樣式、定位等、靜態頁面的設計製作方式等
4. 描述如下:
從技術層面來說,該階段使用的技術程式碼很簡單、易於學習、方便理解。從後期課程層來說,因為我們重點是大資料,但前期需要鍛鍊程式設計技術與思維。經過我們多年開發和授課的專案經理分析,滿足這兩點,目前市場上最好理解和掌握的技術是J2EE,但J2EE又離不開頁面技術。所以第一階段我們的重點是頁面技術。採用市場上主流的HTMl+CSS。
二、 第二階段:JavaSE+JavaWeb
1. 難易程度:兩顆星
3. 主要技術包括:java基礎語法、java面向物件(類、物件、封裝、繼承、多型、抽象類、介面、常見類、內部類、常見修飾符等)、異常、集合、檔案、IO、MYSQL(基本SQL語句操作、多表查詢、子查詢、儲存過程、事務、分散式事務)JDBC、執行緒、反射、Socket程式設計、列舉、泛型、設計模式
稱為Java基礎,由淺入深的技術點、真實商業專案模組分析、多種儲存方式的設計
與實現。該階段是前四個階段最最重要的階段,因為後面所有階段的都要基於此階段,也是學習大資料緊密度最高的階段。本階段將第一次接觸團隊開發、產出具有前後臺(第一階段技術+第二階段的技術綜合應用)的真實專案。
三、 第三階段:前端框架
1. 難易程式:兩星
2. 課時量(技術知識點+階段專案任務+綜合能力):64課時
3. 主要技術包括:Java、Jquery、註解反射一起使用,XML以及XML解析、解析dom4j、jxab、jdk8.0新特性、SVN、Maven、easyui
前兩個階段的基礎上化靜為動,可以實現讓我們網頁內容更加的豐富,當然如果從市場人員層面來說,有專業的前端設計人員,我們設計本階段的目標在於前端的技術可以更直觀的鍛鍊人的思維和設計能力。同時我們也將第二階段的高階特性融入到本階段。使學習者更上一層樓。
四、 第四階段:企業級開發框架
1. 難易程式:三顆星
3. 主要技術包括:Hibernate、Spring、SpringMVC、log4j slf4j 整合、myBatis、struts2、Shiro、redis、流程引擎activity, 爬蟲技術nutch,lucene,webServiceCXF、Tomcat叢集和熱備、MySQL讀寫分離
如果將整個JAVA課程比作一個糕點店,那前面三個階段可以做出一個武大郎燒餅(因為是純手工-太麻煩),而學習框架是可以開一個星巴克(高科技裝置-省時省力)。從J2EE開發工程師的任職要求來說,該階段所用到的技術是必須掌握,而我們所授的課程是高於市場(市場上主流三大框架,我們進行七大框架技術傳授)、而且有真實的商業專案驅動。需求文件、概要設計、詳細設計、原始碼測試、部署、安裝手冊等都會進行講解。
五、 第五階段: 初識大資料
1. 難易程度:三顆星
3. 主要技術包括:大資料前篇(什麼是大資料,應用場景,如何學習大資料庫,虛擬機器概念和安裝等)、Linux常見命令(檔案管理、系統管理、磁碟管理)、Linux Shell程式設計(SHELL變數、迴圈控制、應用)、Hadoop入門(Hadoop組成、單機版環境、目錄結構、HDFS介面、MR介面、簡單的SHELL、java訪問hadoop)、HDFS(簡介、SHELL、IDEA開發工具使用、全分散式叢集搭建)、MapReduce應用(中間計算過程、Java操作MapReduce、程式執行、日誌監控)、Hadoop高階應用(YARN框架介紹、配置項與最佳化、CDH簡介、環境搭建)、擴充套件(MAP 端最佳化,COMBINER 使用方法見,TOP K,SQOOP匯出,其它虛擬機器VM的快照,許可權管理命令,AWK 與 SED命令)
該階段設計是為了讓新人能夠對大資料有一個相對的大概念怎麼相對呢?在前置課程JAVA的學習過後能夠理解程式在單機的電腦上是如何執行的。現在,大資料呢?大資料是將程式執行在大規模機器的叢集中處理。大資料當然是要處理資料,所以同樣,資料的儲存從單機儲存變為多機器大規模的叢集儲存。
(你問我什麼是叢集?好,我有一大鍋飯,我一個人可以吃完,但是要很久,現在我叫大家一起吃。一個人的時候叫人,人多了呢? 是不是叫人群啊!)
那麼大資料可以初略的分為: 大資料儲存和大資料處理所以在這個階段中呢,我們課程設計了大資料的標準:HADOOP大資料的執行呢並不是在咋們經常使用的WINDOWS 7或者W10上面,而是現在使用最廣泛的系統:LINUX。
六、 第六階段:大資料資料庫
1. 難易程度:四顆星
3. 主要技術包括:Hive入門(Hive簡介、Hive使用場景、環境搭建、架構說明、工作機制)、Hive Shell程式設計(建表、查詢語句、分割槽與分桶、索引管理和檢視)、Hive高階應用(DISTINCT實現、groupby、join、sql轉化原理、java程式設計、配置和最佳化)、hbase入門、Hbase SHELL程式設計(DDL、DML、Java操作建表、查詢、壓縮、過濾器)、細說Hbase模組(REGION、HREGION SERVER、HMASTER、ZOOKEEPER簡介、ZOOKEEPER配置、Hbase與Zookeeper整合)、HBASE高階特性(讀寫流程、資料模型、模式設計讀寫熱點、最佳化與配置)
該階段設計是為了讓大家在理解大資料如何處理大規模的資料的同時。簡化咋們的編寫程式時間,同時提高讀取速度。
怎麼簡化呢?在第一階段中,如果需要進行復雜的業務關聯與資料探勘,自行編寫MR程式是非常繁雜的。所以在這一階段中我們引入了HIVE,大資料中的資料倉庫。這裡有一個關鍵字,資料倉庫。我知道你要問我,所以我先說,資料倉庫呢用來做資料探勘分析的,通常是一個超大的資料中心,儲存這些資料的呢,一般為ORACLE,DB2,等大型資料庫,這些資料庫通常用作實時的線上業務。
總之,要基於資料倉庫分析資料呢速度是相對較慢的。但是方便在於只要熟悉SQL,學習起來相對簡單,而HIVE呢就是這樣一種工具,基於大資料的SQL查詢工具,這一階段呢還包括HBASE,它為大資料裡面的資料庫。納悶了,不是學了一種叫做HIVE的資料“倉庫”了麼?HIVE是基於MR的所以查詢起來相當慢,HBASE呢基於大資料可以做到實時的資料查詢。一個主分析,另一個主查詢
七、 第七階段:實時資料採集
1. 難易程式:四顆星
3. 主要技術包括:Flume日誌採集,KAFKA入門(訊息佇列、應用場景、叢集搭建)、KAFKA詳解(分割槽、主題、接受者、傳送者、與ZOOKEEPER整合、Shell開發、Shell除錯)、KAFKA高階使用(java開發、主要配置、最佳化專案)、資料視覺化(圖形與圖表介紹、CHARTS工具分類、柱狀圖與餅圖、3D圖與地圖)、STORM入門(設計思想、應用場景、處理過程、叢集安裝)、STROM開發(STROM MVN開發、編寫STORM本地程式)、STORM進階(java開發、主要配置、最佳化專案)、KAFKA非同步傳送與批次傳送時效,KAFKA全域性訊息有序,STORM多併發最佳化
舉例場景:網站防盜鏈,客戶賬戶異常,實時徵信,遇到這些場景基於前一天的資料分析出來過後呢?是否太晚了。所以在本階段中我們引入了實時的資料採集與分析。主要包括了:FLUME實時資料採集,採集的來源支援非常廣泛,KAFKA資料資料接收與傳送,STORM實時資料處理,資料處理秒級別
八、 第八階段:SPARK資料分析
1. 難易程式:五顆星
3. 主要技術包括:SCALA入門(資料型別、運算子、控制語句、基礎函式)、SCALA進階(資料結構、類、物件、特質、模式匹配、正則表示式)、SCALA高階使用(高階函式、科裡函式、偏函式、尾迭代、自帶高階函式等)、SPARK入門(環境搭建、基礎結構、執行模式)、Spark資料集與程式設計模型、SPARK SQL、SPARK 進階(DATA FRAME、DATASET、SPARK STREAMING原理、SPARK STREAMING支援源、整合KAFKA與SOCKET、程式設計模型)、SPARK高階程式設計(Spark-GraphX、Spark-Mllib機器學習)、SPARK高階應用(系統架構、主要配置和效能最佳化、故障與階段恢復)、SPARK ML KMEANS演算法,SCALA 隱式轉化高階特性
同樣先說前面的階段,主要是第一階段。HADOOP呢在分析速度上基於MR的大規模資料集相對來說還是挺慢的,包括機器學習,人工智慧等。而且不適合做迭代計算。SPARK呢在分析上是作為MR的替代產品,怎麼替代呢? 先說他們的執行機制,HADOOP基於磁碟儲存分析,而SPARK基於記憶體分析。我這麼說你可能不懂,再形象一點,就像你要坐火車從北京到上海,MR就是綠皮火車,而SPARK是高鐵或者磁懸浮。而SPARK呢是基於SCALA語言開發的,當然對SCALA支援最好,所以課程中先學習SCALA開發語言。
在科多大資料課程的設計方面,市面上的職位要求技術,基本全覆蓋。而且並不是單純的為了覆蓋職位要求,而是本身課程從前到後就是一個完整的大資料專案流程,一環扣一環。
比如從歷史資料的儲存,分析(HADOOP,HIVE,HBASE),到實時的資料儲存(FLUME,KAFKA),分析(STORM,SPARK),這些在真實的專案中都是相互依賴存在的。
以下介紹的課程主要針對零基礎大資料工程師每個階段進行通俗易懂簡易介紹,方面大家更好的瞭解大資料學習課程。課程框架是科多大資料的零基礎大資料工程師課程。
一、 第一階段:靜態網頁基礎(HTML+CSS)
1. 難易程度:一顆星
2. 課時量(技術知識點+階段專案任務+綜合能力)
3. 主要技術包括:html常用標籤、CSS常見佈局、樣式、定位等、靜態頁面的設計製作方式等
4. 描述如下:
從技術層面來說,該階段使用的技術程式碼很簡單、易於學習、方便理解。從後期課程層來說,因為我們重點是大資料,但前期需要鍛鍊程式設計技術與思維。經過我們多年開發和授課的專案經理分析,滿足這兩點,目前市場上最好理解和掌握的技術是J2EE,但J2EE又離不開頁面技術。所以第一階段我們的重點是頁面技術。採用市場上主流的HTMl+CSS。
二、 第二階段:JavaSE+JavaWeb
1. 難易程度:兩顆星
2. 課時量(技術知識點+階段專案任務+綜合能力)
3. 主要技術包括:java基礎語法、java面向物件(類、物件、封裝、繼承、多型、抽象類、介面、常見類、內部類、常見修飾符等)、異常、集合、檔案、IO、MYSQL(基本SQL語句操作、多表查詢、子查詢、儲存過程、事務、分散式事務)JDBC、執行緒、反射、Socket程式設計、列舉、泛型、設計模式
4. 描述如下:
稱為Java基礎,由淺入深的技術點、真實商業專案模組分析、多種儲存方式的設計
與實現。該階段是前四個階段最最重要的階段,因為後面所有階段的都要基於此階段,也是學習大資料緊密度最高的階段。本階段將第一次接觸團隊開發、產出具有前後臺(第一階段技術+第二階段的技術綜合應用)的真實專案。
三、 第三階段:前端框架
1. 難易程式:兩星
2. 課時量(技術知識點+階段專案任務+綜合能力):64課時
3. 主要技術包括:Java、Jquery、註解反射一起使用,XML以及XML解析、解析dom4j、jxab、jdk8.0新特性、SVN、Maven、easyui
4. 描述如下:
前兩個階段的基礎上化靜為動,可以實現讓我們網頁內容更加的豐富,當然如果從市場人員層面來說,有專業的前端設計人員,我們設計本階段的目標在於前端的技術可以更直觀的鍛鍊人的思維和設計能力。同時我們也將第二階段的高階特性融入到本階段。使學習者更上一層樓。
四、 第四階段:企業級開發框架
1. 難易程式:三顆星
2. 課時量(技術知識點+階段專案任務+綜合能力)
3. 主要技術包括:Hibernate、Spring、SpringMVC、log4j slf4j 整合、myBatis、struts2、Shiro、redis、流程引擎activity, 爬蟲技術nutch,lucene,webServiceCXF、Tomcat叢集和熱備、MySQL讀寫分離
4. 描述如下:
如果將整個JAVA課程比作一個糕點店,那前面三個階段可以做出一個武大郎燒餅(因為是純手工-太麻煩),而學習框架是可以開一個星巴克(高科技裝置-省時省力)。從J2EE開發工程師的任職要求來說,該階段所用到的技術是必須掌握,而我們所授的課程是高於市場(市場上主流三大框架,我們進行七大框架技術傳授)、而且有真實的商業專案驅動。需求文件、概要設計、詳細設計、原始碼測試、部署、安裝手冊等都會進行講解。
五、 第五階段: 初識大資料
1. 難易程度:三顆星
2. 課時量(技術知識點+階段專案任務+綜合能力)
3. 主要技術包括:大資料前篇(什麼是大資料,應用場景,如何學習大資料庫,虛擬機器概念和安裝等)、Linux常見命令(檔案管理、系統管理、磁碟管理)、Linux Shell程式設計(SHELL變數、迴圈控制、應用)、Hadoop入門(Hadoop組成、單機版環境、目錄結構、HDFS介面、MR介面、簡單的SHELL、java訪問hadoop)、HDFS(簡介、SHELL、IDEA開發工具使用、全分散式叢集搭建)、MapReduce應用(中間計算過程、Java操作MapReduce、程式執行、日誌監控)、Hadoop高階應用(YARN框架介紹、配置項與最佳化、CDH簡介、環境搭建)、擴充套件(MAP 端最佳化,COMBINER 使用方法見,TOP K,SQOOP匯出,其它虛擬機器VM的快照,許可權管理命令,AWK 與 SED命令)
4. 描述如下:
該階段設計是為了讓新人能夠對大資料有一個相對的大概念怎麼相對呢?在前置課程JAVA的學習過後能夠理解程式在單機的電腦上是如何執行的。現在,大資料呢?大資料是將程式執行在大規模機器的叢集中處理。大資料當然是要處理資料,所以同樣,資料的儲存從單機儲存變為多機器大規模的叢集儲存。
(你問我什麼是叢集?好,我有一大鍋飯,我一個人可以吃完,但是要很久,現在我叫大家一起吃。一個人的時候叫人,人多了呢? 是不是叫人群啊!)
那麼大資料可以初略的分為: 大資料儲存和大資料處理所以在這個階段中呢,我們課程設計了大資料的標準:HADOOP大資料的執行呢並不是在咋們經常使用的WINDOWS 7或者W10上面,而是現在使用最廣泛的系統:LINUX。
六、 第六階段:大資料資料庫
1. 難易程度:四顆星
2. 課時量(技術知識點+階段專案任務+綜合能力)
3. 主要技術包括:Hive入門(Hive簡介、Hive使用場景、環境搭建、架構說明、工作機制)、Hive Shell程式設計(建表、查詢語句、分割槽與分桶、索引管理和檢視)、Hive高階應用(DISTINCT實現、groupby、join、sql轉化原理、java程式設計、配置和最佳化)、hbase入門、Hbase SHELL程式設計(DDL、DML、Java操作建表、查詢、壓縮、過濾器)、細說Hbase模組(REGION、HREGION SERVER、HMASTER、ZOOKEEPER簡介、ZOOKEEPER配置、Hbase與Zookeeper整合)、HBASE高階特性(讀寫流程、資料模型、模式設計讀寫熱點、最佳化與配置)
4. 描述如下:
該階段設計是為了讓大家在理解大資料如何處理大規模的資料的同時。簡化咋們的編寫程式時間,同時提高讀取速度。
怎麼簡化呢?在第一階段中,如果需要進行復雜的業務關聯與資料探勘,自行編寫MR程式是非常繁雜的。所以在這一階段中我們引入了HIVE,大資料中的資料倉庫。這裡有一個關鍵字,資料倉庫。我知道你要問我,所以我先說,資料倉庫呢用來做資料探勘分析的,通常是一個超大的資料中心,儲存這些資料的呢,一般為ORACLE,DB2,等大型資料庫,這些資料庫通常用作實時的線上業務。
總之,要基於資料倉庫分析資料呢速度是相對較慢的。但是方便在於只要熟悉SQL,學習起來相對簡單,而HIVE呢就是這樣一種工具,基於大資料的SQL查詢工具,這一階段呢還包括HBASE,它為大資料裡面的資料庫。納悶了,不是學了一種叫做HIVE的資料“倉庫”了麼?HIVE是基於MR的所以查詢起來相當慢,HBASE呢基於大資料可以做到實時的資料查詢。一個主分析,另一個主查詢
七、 第七階段:實時資料採集
1. 難易程式:四顆星
2. 課時量(技術知識點+階段專案任務+綜合能力)
3. 主要技術包括:Flume日誌採集,KAFKA入門(訊息佇列、應用場景、叢集搭建)、KAFKA詳解(分割槽、主題、接受者、傳送者、與ZOOKEEPER整合、Shell開發、Shell除錯)、KAFKA高階使用(java開發、主要配置、最佳化專案)、資料視覺化(圖形與圖表介紹、CHARTS工具分類、柱狀圖與餅圖、3D圖與地圖)、STORM入門(設計思想、應用場景、處理過程、叢集安裝)、STROM開發(STROM MVN開發、編寫STORM本地程式)、STORM進階(java開發、主要配置、最佳化專案)、KAFKA非同步傳送與批次傳送時效,KAFKA全域性訊息有序,STORM多併發最佳化
4. 描述如下:
舉例場景:網站防盜鏈,客戶賬戶異常,實時徵信,遇到這些場景基於前一天的資料分析出來過後呢?是否太晚了。所以在本階段中我們引入了實時的資料採集與分析。主要包括了:FLUME實時資料採集,採集的來源支援非常廣泛,KAFKA資料資料接收與傳送,STORM實時資料處理,資料處理秒級別
八、 第八階段:SPARK資料分析
1. 難易程式:五顆星
2. 課時量(技術知識點+階段專案任務+綜合能力)
3. 主要技術包括:SCALA入門(資料型別、運算子、控制語句、基礎函式)、SCALA進階(資料結構、類、物件、特質、模式匹配、正則表示式)、SCALA高階使用(高階函式、科裡函式、偏函式、尾迭代、自帶高階函式等)、SPARK入門(環境搭建、基礎結構、執行模式)、Spark資料集與程式設計模型、SPARK SQL、SPARK 進階(DATA FRAME、DATASET、SPARK STREAMING原理、SPARK STREAMING支援源、整合KAFKA與SOCKET、程式設計模型)、SPARK高階程式設計(Spark-GraphX、Spark-Mllib機器學習)、SPARK高階應用(系統架構、主要配置和效能最佳化、故障與階段恢復)、SPARK ML KMEANS演算法,SCALA 隱式轉化高階特性
4. 描述如下:
同樣先說前面的階段,主要是第一階段。HADOOP呢在分析速度上基於MR的大規模資料集相對來說還是挺慢的,包括機器學習,人工智慧等。而且不適合做迭代計算。SPARK呢在分析上是作為MR的替代產品,怎麼替代呢? 先說他們的執行機制,HADOOP基於磁碟儲存分析,而SPARK基於記憶體分析。我這麼說你可能不懂,再形象一點,就像你要坐火車從北京到上海,MR就是綠皮火車,而SPARK是高鐵或者磁懸浮。而SPARK呢是基於SCALA語言開發的,當然對SCALA支援最好,所以課程中先學習SCALA開發語言。
在科多大資料課程的設計方面,市面上的職位要求技術,基本全覆蓋。而且並不是單純的為了覆蓋職位要求,而是本身課程從前到後就是一個完整的大資料專案流程,一環扣一環。
比如從歷史資料的儲存,分析(HADOOP,HIVE,HBASE),到實時的資料儲存(FLUME,KAFKA),分析(STORM,SPARK),這些在真實的專案中都是相互依賴存在的。