學習大數據需要什么基礎?
第一階段:靜態網頁基礎(HTML+CSS)
1.難易程度:一顆星
2.技術知識點+階段項目任務+綜合能力
3.主要技術包括:html常用標簽、CSS常見布局、樣式、定位等、靜態頁面的設計制作方式等
第二階段:JavaSE+JavaWeb
1.難易程度:兩顆星
2.技術知識點+階段項目任務+綜合能力
3.主要技術包括:java基礎語法、java面向對象(類、對象、封裝、繼承、多態、抽象類、接口、常見類、內部類、常見修飾符等)、異常、集合、文件、IO、MYSQL(基本SQL語句操作、多表查詢、子查詢、存儲過程、事務、分布式事務)、JDBC、線程、反射、Socket編程、枚舉、泛型、設計模式
4.描述如下:
稱為Java基礎,由淺入深的技術點、真實商業項目模塊分析、多種存儲方式的設計與實現。該階段是前四個階段最最重要的階段,因為后面所有階段的都要基于此階段,也是學習大數據緊密度最高的階段。本階段將第一次接觸團隊開發、產出具有前后臺(第一階段技術+第二階段的技術綜合應用)的真實項目。
第三階段:前端框架
1.難易程序:兩星
2.技術知識點+階段項目任務+綜合能力
3.主要技術包括:Java、Jquery、注解反射一起使用,XML以及XML解析、解析dom4j、jxab、jdk8.0新特性、SVN、Maven、easyui
4.描述如下:
前兩個階段的基礎上化靜為動,可以實現讓我們網頁內容更加的豐富,當然如果從市場人員層面來說,有專業的前端設計人員,我們設計本階段的目標在于前端的技術可以更直觀的鍛煉人的思維和設計能力。同時我們也將第二階段的高級特性融入到本階段。使學習者更上一層樓。
第四階段:企業級開發框架
1.難易程序:三顆星
3.主要技術包括:Hibernate、Spring、SpringMVC、log4j slf4j 整合、myBatis、struts2、Shiro、redis、流程引擎activity, 爬蟲技術nutch,lucene,webService CXF、Tomcat集群和熱備 、MySQL讀寫分離
第五階段: 初識大數據
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.課時量(技術知識點+階段項目任務+綜合能力):88課時
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開發語言。什么?又要學另外一種開發語言?不不不!!!我只說一句話:SCALA是基于JAVA做的。從歷史數據的存儲,分析(HADOOP,HIVE,HBASE),到實時的數據存儲(FLUME,KAFKA),分析(STORM,SPARK),這些在真實的項目中都是相互依賴存在的。