1. 程式人生 > >大資料開發初學者必看的學習路線

大資料開發初學者必看的學習路線

大資料時代的出現簡單的講是海量資料同完美計算能力結合的結果,確切的說是移動網際網路、物聯網產生了海量的資料,大資料計算技術完美地解決了海量資料的收集、儲存、計算、分析的問題。當我們最初談大資料的時候,談的最多的可能是使用者行為分析,即通過各種使用者行為,包括瀏覽記錄,消費記錄,交往和購物娛樂,行動軌跡等各種使用者行為產生的資料。由於這些資料本身符合海量,異構的特徵,同時通過分析這些資料之間的關聯性容易匹配某些結果現象。

當然大資料的價值遠遠不止於此,大資料對各行各業的滲透,大大推動了社會生產和生活,未來必將產生重大而深遠的影響。那麼迴歸主題,如何進行大資料領域,學習線路是什麼?

第一階段:大資料基礎Java語言基礎階段

詳細知識點介紹:

Java開發介紹:Java的發展歷史,Java的應用領域,Java語言的特性,Java面向物件,Java效能分類, 搭建Java環境,Java工作原理

熟悉Eclipse開發工具:Eclipse簡介與下載,安裝Eclipse的中文語言包, Eclipse的配置與啟動,Eclipse工作臺與檢視,“包資源管理器”檢視, 使用Eclipse, 使用編輯器編寫程式程式碼

Java語言基礎:Java主類結構,基本資料型別, 變數與常量,Java運算子, 資料型別轉換, 程式碼註釋與編碼規範,Java幫助文件

Java流程控制:複合語句, 條件語句,if條件語句, switch多分支語句,while迴圈語句, do…while迴圈語句, for迴圈語句

Java字串:String類, 連線字串, 獲取字串資訊, 字串操作, 格式化字串, 使用正則表示式,字串生成器

Java陣列與類和物件:陣列概述,一維陣列的建立及使用,二維陣列的建立及使用,陣列的基本操作,陣列排序演算法,Java的類和構造方法、Java的物件,屬性和行為

數字處理類與核心技術:數字格式化與運算,隨機數 與大資料運算,類的繼承與Object類,物件型別的轉換,使用instanceof操作符判斷物件型別,方法的過載與多型,抽象類與介面

I/O與反射、多執行緒:流概述與File類,檔案 輸入/輸出流,快取 輸入/輸出流, Class類與Java反射,Annotation功能型別資訊,列舉型別與泛型,建立、操作執行緒與執行緒安全

Swing程式與集合類:常用窗體,標籤元件與圖示,常用佈局管理器 與面板,按鈕元件 與列表元件,常用事件監聽器,集合類概述,Set集合 與Map集合及介面

PC端網站佈局:HTML基礎,CSS基礎,CSS核心屬性,CSS樣式層疊,繼承,盒模型,容器,溢位及元素型別,瀏覽器相容與寬高自適應,定位,錨點與透明,圖片整合,表格,CSS屬性與濾鏡,CSS優化HTML5+CSS3基礎:HTML5新增的元素與屬性, CSS3選擇器,文字字型相關樣式,CSS3位移與變形處理,CSS3 2D、3D轉換與動畫,彈性盒模型,媒體查詢,響應式設計

WebApp頁面佈局專案:移動端頁面設計規範,移動端切圖,文字流式/控制元件彈性/圖片等比例的佈局,等比縮放佈局,viewport/meta,rem/vw的使用,flexbox詳解,移動web特別樣式處理

原生Java功能開發:原生Java功能開發,Java使用及運作原理,Java基本語法,Java內建物件,事件,事件原理,Java基本特效製作,cookie儲存,正則表示式

Ajax非同步互動:Ajax概述與特徵,Ajax工作原理,物件,同步與非同步,Ajax非同步互動,Ajax跨域問題,Ajax資料的處理,基於WebSocket和推送的實時互動

JQuery應用:各選擇器使用及應用優化,Dom節點的各種操作,事件處理、封裝、應用,jQuery中的各類動畫使用,可用性表單的開發,jQuery Ajax、函式、快取, jQuery編寫外掛、擴充套件、應用,理解模組式開發及應用

資料庫:Mysql資料庫,JDBC開發,連線池和DBUtils,Oracle介紹,MongoDB資料庫介紹,apache伺服器/Nginx伺服器,Memcached記憶體物件快取系統

JavaWeb開發核心:XML技術,HTTP協議,Servlet工作原理解析,深入理解Session與Cookie,Tomcat的系統架構與設計模式,JSP語法與內建物件,JDBC技術,大瀏覽量系統的靜態化架構設計

JavaWeb開發內幕:深入理解Web請求過程,Java I/O的工作機制,Java Web中文編碼,Javac編譯原理,class檔案結構,ClassLoader工作機制,JVM體系結構與工作方式,JVM記憶體管理

第二階段:Linux系統Hadoop生態體系

詳細知識點介紹:

Linux體系:VMware Workstation虛擬軟體安裝過程、CentOS虛擬機器安裝過程,瞭解機架伺服器,採用真實機架伺服器部署linux,Linux的常用命令:常用命令的介紹、常用命令的使用和練習,Linux系統程序管理基本原理及相關管理工具如ps、pkill、top、htop等的使用,Linux啟動流程,執行級別詳VI、VIM編輯器:VI、VIM編輯器的介紹、VI、VIM扥使用和常用快捷鍵, Linux使用者和組賬戶管理:使用者的管理、組管理,Linux磁碟管理,lvm邏輯卷,nfs詳解,Linux系統檔案許可權管理:檔案許可權介紹、檔案許可權的操作,Linux的RPM軟體包管理:RPM包的介紹、RPM安裝、解除安裝等操作,yum命令,yum源搭建,Linux網路:Linux網路的介紹、Linux網路的配置和維護,Shell程式設計,Shell的介紹、Shell指令碼的編寫

Linux上常見軟體的安裝:安裝JDK、安裝Tomcat、安裝mysql,web專案部署

Hadoop離線計算:Hadoop生態環境介紹,Hadoop雲端計算中的位置和關係,國內外Hadoop應用案例介紹,國內外Hadoop應用案例介紹,Hadoop 概念、版本、歷史,Hadoop 核心組成介紹及hdfs、mapreduce 體系結構,Hadoop 的叢集結構,Hadoop 偽分佈的詳細安裝步驟,通過命令列和瀏覽器觀察hadoop,HDFS底層&& datanode,namenode詳解&&shell&&Hdfs java api,Mapreduce四個階段介紹,Writable,InputSplit和OutputSplit,Maptask,Shuffle:Sort,Partitioner,Group,Combiner,Reducer,Mapreducer案例:二次排序, 倒排序索引, 最優路徑,電信資料探勘之-----移動軌跡預測分析(中國稜鏡計劃),社交好友推薦演算法,網際網路精準廣告推送演算法,Hadoop離線計算大綱,阿里巴巴天池大資料競賽 《天貓推薦演算法》,Mapreduce實戰pagerank演算法,Hadoop2.x叢集結構體系介紹,Hadoop2.x叢集搭建,NameNode的高可用性(HA),HDFS Federation,ResourceManager 的高可用性(HA),Hadoop叢集常見問題和解決方法,Hadoop叢集管理

分散式資料庫Hbase:Hbase簡介,HBase與RDBMS的對比,資料模型,系統架構,HBase上的MapReduce,表的設計,叢集的搭建過程講解,叢集的監控,叢集的管理,HBase Shell以及演示, Hbase 樹形表設計,Hbase 一對多 和 多對多 表設計,Hbase 微博 案例,Hbase 訂單案例,Hbase表級優化,分散式資料庫Hbase,Hbase 寫資料優化,Hbase 讀資料優化Hbase API操作,hbase mapdreduce 和hive 整合資料倉庫Hive:資料倉庫基礎知識,Hive定義,Hive體系結構簡介,Hive叢集,客戶端簡介,HiveQL定義,HiveQL與SQL的比較,資料型別,外部表和分割槽表,ddl與CLI客戶端演示,dml與CLI客戶端演示,select與CLI客戶端演示,Operators 和 functions與CLI客戶端演示,Hive server2 與jdbc,使用者自定義函式(UDF 和 UDAF)的開發與演示,Hive 優化,serde

資料遷移工具Sqoop:Sqoop簡介以及使用,Sqoop shell使用,Sqoop-import,DBMS-hdfs,DBMS-hive,DBMS-hbase,Sqoop-export

Flume分散式日誌框架:flume簡介-基礎知識,flume安裝與測試,flume部署方式,flume source相關配置及測試,flume sink相關配置及測試,flume selector 相關配置與案例分析,flume Sink Processors相關配置和案例分析,flume Interceptors相關配置和案例分析,flume AVRO Client開發,flume 和kafka 的整合

第三階段:分散式計算框架Spark&Storm生態體系

 

詳細知識點介紹:

Scala程式語言:scala直譯器、變數、常用資料型別等,scala的條件表示式、輸入輸出、迴圈等控制結構,scala的函式、預設引數、變長引數等,scala的陣列、變長陣列、多維陣列等,scala的對映、元組等操作,scala的類,包括bean屬性、輔助構造器、主構造器,scala的物件、單例物件、伴生物件、擴充套件類、apply方法等,scala的包、引入、繼承等概念,scala的特質,scala的操作符,scala的高階函式,scala的集合,scala資料庫連線

Spark大資料處理:Spark介紹,Spark應用場景,Spark和Hadoop MR、Storm的比較和優勢, RDD,Transformation,Action,Spark計算PageRank,Lineage, Spark模型簡介,Spark快取策略和容錯處理,寬依賴與窄依賴,Spark配置講解,Spark叢集搭建,叢集搭建常見問題解決,Spark原理核心元件和常用RDD,資料本地性,任務排程,DAGScheduler,TaskScheduler,Spark原始碼解讀,效能調優,Spark和Hadoop2.x整合:Spark on Yarn原理

Spark—Streaming大資料實時處理:Spark Streaming:資料來源和DStream ,無狀態transformation與有狀態transformation,Streaming Window的操作,sparksql 程式設計實戰,spark的多語言操作,spark最新版本的新特性

Spark—Mlib機器學習:Mlib簡介,Spark MLlib元件介紹,基本資料型別,迴歸演算法,廣義線性模型,邏輯迴歸,分類演算法,樸素貝葉斯,決策樹,隨機森林,推薦系統,聚類

Spark—GraphX 圖計算:二分圖,構造圖, 屬性圖,PageRank3.5.2 概述 構造圖,屬性圖,PageRank

storm技術架構體系:專案技術架構體系,Storm是什麼,Storm架構分析,Storm程式設計模型、Tuple原始碼、併發度分析,Transformation,Maven環境快速搭建,Storm WordCount案例及常用Api,Storm+Kafka+Redis業務指標計算,3.6.9 Storm叢集安裝部署,Storm原始碼下載編譯

Storm原理與基礎:Storm叢集啟動及原始碼分析,Storm任務提交及原始碼分析,Storm資料傳送流程分析,Strom通訊機制分析淺談,Storm訊息容錯機制及原始碼分析,Storm多stream專案分析,Storm Trident和感測器資料,實時趨勢分析,Storm DRPC(分散式遠端呼叫)介紹,Storm DRPC實戰講解,編寫自己的流式任務執行框架

訊息佇列kafka:訊息佇列是什麼,kafka核心元件,kafka叢集部署實戰及常用命令,kafka配置檔案梳理,kafka JavaApi學習,kafka檔案儲存機制分析,kafka的分佈與訂閱,kafka使用zookeeper進行協調管理Redis工具:nosql介紹,redis介紹,redis安裝,客戶端連線,redis的資料功能,redis持久化,redis應用案例

zookeeper詳解:zookeeper簡介,zookeeper的叢集部署,zookeeper的核心工作機制,zookeeper的命令列操作,zookeeper的客戶端API,zookeeper的應用案例,zookeeper的原理補充

第四階段:大資料專案實戰

第五階段:大資料分析方向AI(人工智慧)

詳細知識點介紹:

Python程式設計&&Data Analyze工作環境準備&資料分析基礎:介紹Python以及特點,Python的安裝,Python基本操作(註釋、邏輯、 字串使用等),Python資料結構(元組、列表、字典),使用Python進行批量重新命名小例子,Python常見內建函式,更多Python函式及使用常見技巧,異常,Python函式的引數講解,Python模組的匯入,網路爬蟲案例,資料庫連線,以及pip安裝模組,Mongodb基礎入門,講解如何連線mongodb,Python的機器學習案例,AI&&機器學習&&深度學習概論,工作環境準備,資料分析中常用的Python技巧,Pandas進階及技巧,資料的統計分析

資料視覺化:資料視覺化的概念,圖表的繪製及視覺化,動畫及互動渲染,資料合併、分組

Python機器學習:機器學習的基本概念,ML工作流程,Python機器學習庫scikit-learn,KNN模型,線性迴歸模型,邏輯迴歸模型,支援向量機模型,決策樹模型,超引數&&學習引數,模型評價指標,交叉驗證,機器學習經典演算法,樸素貝葉斯,隨機森林,GBDT

影象識別&&神經網路:影象操作的工作流程,特徵工程,影象特徵描述,AI網路的描述,深度學習,TensorFlow框架學習,TensorFlow框架卷積神經網路(CNN)

自然語言處理&&社交網路處理:Python文字資料處理,自然語言處理及NLTK,主題模型,LDA,圖論簡介,網路的操作及資料視覺化