A. 做Java開發都需要學什麼怎麼學
以下介紹的課程主要針對零基礎大數據工程師每個階段進行通俗易懂簡易介紹,方面大家更好的了解大數據學習課程。課程框架是科多大數據的零基礎大數據工程師課程。
一、第一階段:靜態網頁基礎(HTMLCSS)
1.難易程度:一顆星
2.課時量(技術知識點階段項目任務綜合能力)
3.主要技術包括:html常用標簽、CSS常見布局、樣式、定位等、靜態頁面的設計製作方式等
4.描述如下:
從技術層面來說,該階段使用的技術代碼很簡單、易於學習、方便理解。從後期課程層來說,因為我們重點是大數據,但前期需要鍛煉編程技術與思維。經過我們多年開發和授課的項目經理分析,滿足這兩點,目前市場上最好理解和掌握的技術是J2EE,但J2EE又離不開頁面技術。所以第一階段我們的重點是頁面技術。採用市場上主流的HTMlCSS。
二、第二階段:JavaSEJavaWeb
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、log4jslf4j整合、myBatis、struts2、Shiro、redis、流程引擎activity,爬蟲技術nutch,lucene,、Tomcat集群和熱備、MySQL讀寫分離
4.描述如下:
如果將整個JAVA課程比作一個糕點店,那前面三個階段可以做出一個武大郎燒餅(因為是純手工-太麻煩),而學習框架是可以開一個星巴克(高科技設備-省時省力)。從J2EE開發工程師的任職要求來說,該階段所用到的技術是必須掌握,而我們所授的課程是高於市場(市場上主流三大框架,我們進行七大框架技術傳授)、而且有真實的商業項目驅動。需求文檔、概要設計、詳細設計、源碼測試、部署、安裝手冊等都會進行講解。
五、第五階段:初識大數據
1.難易程度:三顆星
2.課時量(技術知識點階段項目任務綜合能力)
3.主要技術包括:大數據前篇(什麼是大數據,應用場景,如何學習大資料庫,虛擬機概念和安裝等)、Linux常見命令(文件管理、系統管理、磁碟管理)、LinuxShell編程(SHELL變數、循環控制、應用)、Hadoop入門(Hadoop組成、單機版環境、目錄結構、HDFS界面、MR界面、簡單的SHELL、java訪問hadoop)、HDFS(簡介、SHELL、IDEA開發工具使用、全分布式集群搭建)、MapRece應用(中間計算過程、Java操作MapRece、程序運行、日誌監控)、Hadoop高級應用(YARN框架介紹、配置項與優化、CDH簡介、環境搭建)、擴展(MAP端優化,COMBINER使用方法見,TOPK,SQOOP導出,其它虛擬機VM的快照,許可權管理命令,AWK與SED命令)
4.描述如下:
該階段設計是為了讓新人能夠對大數據有一個相對的大概念怎毀悉么相對呢?在前置課程JAVA的學習過後能夠理解程序在單機的電腦上是如何運行的。現在,大數據呢?大數據是將程序運行在大規模機器的集群中處理。大數據當然是要處理數據,所以同樣,數據的存儲從單機存儲變為多機器大規模的集群存儲。
(你問我什麼是集群?好,我有一大鍋飯,我一個人可以吃完,但是要很久,現在我叫大家一起吃。一個人的時候叫人,人多了呢?是不是叫人群啊!)
那麼大數據可以初略的分為:大數據存儲和大數據處理所以在這個階段中呢,我們課程設計了大數據的標准:HADOOP大數據的運行呢並不是在咋們經常使用的WINDOWS7或者W10上面,而是現在使用最廣泛的系統:LINUX。
六、第六階段:大數據資料庫
1.難易程度:四顆星
2.課時量(技術知識點階段項目任務綜合能力)
3.主要技術包括:Hive入門(Hive簡介、Hive使用場景、環境搭建、架構說明、工作機制)、HiveShell編程(建表、查詢語句、分區與分桶、索引管理和視圖)、Hive高級應用(DISTINCT實現、groupby、join、sql轉化原理、java編程、配置和優化)、hbase入門、HbaseSHELL編程(DDL、DML、Java操作建表、查詢、壓縮、過濾器)、細說Hbase模塊(REGION、HREGIONSERVER、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開發(STROMMVN開發、編寫STORM本地程序)、STORM進階(java開發、主要配置、優化項目)、KAFKA非同步發送與批量發送時效,KAFKA全局消息有序,STORM多並發優化
4.描述如下:
前面的階段數據來源是基於已經存在的大規模數據集來做的,數據處理與分析過後的結果是存在一定延時的,通常處理的數據為前一天的數據。
舉例場景:網站防盜鏈,客戶賬戶異常,實時徵信,遇到這些場景基於前一天的數據分析出來過後呢?是否太晚了。所以在本階段中我們引入了實時的數據採集與分析。主要包括了:FLUME實時數據採集,採集的來源支持非常廣泛,KAFKA數據數據接收與發送,STORM實時數據處理,數據處理秒級別
八、第八階段:SPARK數據分析
1.難易程序:五顆星
2.課時量(技術知識點階段項目任務綜合能力)
3.主要技術包括:SCALA入門(數據類型、運算符、控制語句、基礎函數)、SCALA進階(數據結構、類、對象、特質、模式匹配、正則表達式)、SCALA高級使用(高階函數、科里函數、偏函數、尾迭代、自帶高階函數等)、SPARK入門(環境搭建、基礎結構、運行模式)、Spark數據集與編程模型、SPARKSQL、SPARK進階(DATAFRAME、DATASET、SPARKSTREAMING原理、SPARKSTREAMING支持源、集成KAFKA與SOCKET、編程模型)、SPARK高級編程(Spark-GraphX、Spark-Mllib機器學習)、SPARK高級應用(系統架構、主要配置和性能優化、故障與階段恢復)、SPARKMLKMEANS演算法,SCALA隱式轉化高級特性
4.描述如下:
同樣先說前面的階段,主要是第一階段。HADOOP呢在分析速度上基於MR的大規模數據集相對來說還是挺慢的,包括機器學習,人工智慧等。而且不適合做迭代計算。SPARK呢在分析上是作為MR的替代產品,怎麼替代呢?先說他們的運行機制,HADOOP基於磁碟存儲分析,而SPARK基於內存分析。我這么說你可能不懂,再形象一點,就像你要坐火車從北京到上海,MR就是綠皮火車,而SPARK是高鐵或者磁懸浮。而SPARK呢是基於SCALA語言開發的,當然對SCALA支持最好,所以課程中先學習SCALA開發語言。
在科多大數據課程的設計方面,市面上的職位要求技術,基本全覆蓋。而且並不是單純的為了覆蓋職位要求,而是本身課程從前到後就是一個完整的大數據項目流程,一環扣一環。
比如從歷史數據的存儲,分析(HADOOP,HIVE,HBASE),到實時的數據存儲(FLUME,KAFKA),分析(STORM,SPARK),這些在真實的項目中都是相互依賴存在的。