1. 程式人生 > >學習大資料開發零基礎是不是限制,小白能否快速學會?附上學習路線圖

學習大資料開發零基礎是不是限制,小白能否快速學會?附上學習路線圖

 

對於進入進入新的行業,尤其是IT行業,每個人都會有擔憂,這很正常,不論你有沒有過經驗都不免有些擔憂。一方面,是因為你在此之前總聽流言說程式設計如何如何難,工作是多麼多麼累,但它們就像老奶奶講的嚇人故事,是用來唬孩子們去學習社會科學而已。而另一方面,人們對於未知的事情總是充滿著“恐懼”。其實無論是學習IT還是學習大資料開發,大家都是從0開始的,即使你沒有基礎也無需擔心,畢竟大家最開始都是從小白度過的。

Java、python等等IT領域的開發人員如今都紛紛轉型大資料,究其原因無非是大資料開發領域薪資高,且因為他們有程式設計基礎,所以轉型比較快。那麼對於那些程式設計小白該如何去學習大資料開發呢?如何擺脫0基礎的困境呢?

第一、小白學習大資料開發,心態很重要

對於陌生的知識領域,大家最開始接觸的時候都不免有些困惑,會對自己產生懷疑,就像我們打遊戲一樣。剛開始總是操作不當、找不到該按的按鈕、也不懂的團隊配合,而當我們玩過幾局之後就很快能夠和大家一起進行遊戲了。所以0基礎的小白學習大資料時,心態一定要擺正,要相信自己,剛開始我們要學習大資料開發所需的語言、語法,因為他是計算機語言,我們需要一定的時間適應、摸索,等我們掌握基礎之後就會感受到它的樂趣,自然也就不會覺得難了。

 

大資料學習可以加群:868847735  視訊資料一起學習

 

第二、課程安排很重要,有計劃學習

小白學習大資料開發,最忌諱盲目的沒有計劃的學習,擺脫了系統學習計劃,結果必然“一塌糊塗”。所以建議小白學習大資料開發最好還是參加大資料培訓班效果更好。比如海牛學院,就為學生制定了詳細的課程安排,從java開始一步步深入到大資料開發的各個知識點(詳情見海牛大資料課程大綱)。與學習其他知識一樣,有計劃效能夠快速的直達目的地。

第三、互幫互助,在實訓中提升自己

一人為孤,三人為眾,獨自學習往往讓人感到困惑,而如果能夠找到一群志同道合的人一起學習,那麼學習更有動力,這也就是“氛圍”的重要性。所以,建議小白去培訓班進行學習。在這裡不僅有共同努力的同學,還有大牛老師為你指導,相信學習效率一定會得到巨大的提升。而且,大資料培訓機構一般都會為學員提供實訓專案,讓學員在實際操作中提升自己,當然,實訓的目的之一是讓大家將知識融會貫通,另一個目的卻是讓大家在實訓中體會到團隊協作的重要性,這在以後的工作中意義重大。

第四、習慣的保持

無論學習什麼,都不能有三分鐘熱度的心態,不能有“三天打魚兩天晒網”的心理。在終身學習的年代裡,如果你不能夠真正的養成一個良好的學習習慣,那麼最後受傷的還是自己。

小白學習大資料開發的難度其實並不高,關鍵是看你想不想學,每個人都是從小白過渡而來,別人能做好,相信你也可以。所以,0基礎並不是學習大資料的限制,也不是你學不好的理由,只要你能夠持堅持學習,那麼你一樣可以學懂大資料開發,成為一名專業的人才。

 

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

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特別樣式處理

原生JavaScript功能開發:

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

Ajax非同步互動:

Ajax概述與特徵,Ajax工作原理,XMLHttpRequest物件,同步與非同步,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生態體系

 

大資料學習可以加群:868847735  視訊資料一起學習

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生態體系

分散式計算框架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 圖計算:

二分圖,構造圖, 屬性圖,PageRank

3.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,圖論簡介,網路的操作及資料視覺化。

大資料學習可以加群:868847735  視訊資料一起學習