【2020版衝刺年薪30W】超全大數據學習路線+思惟導圖

大數據學習路線

​ 下面和你們講一下大數據學習的路線,幫助你們快速進入大數據行業。我會結合本身的實際經歷還說明學習路線。該路線針對的對象是零基礎小白,目標是到初中級大數據工程師,要求掌握數據建模,數據存儲,數據存儲,數據傳輸,數據分析等能力達到大數據崗位的應聘標準。git

(一)Java基礎和web開發

​ 不少人問過我,學大數據要不要學Java,個人答案是確定的。首先Java是一門面向對象的編程語言,也是一門應用很是之廣的語言,對於零基礎的小白必須先有一些基本的編碼能力和麪向對象編程的思想。其次不少框架的底層就是用Java進行開發的,好比Hadoop,若是想要更近一步,源碼是要看的。因此學習Java基礎是十分必要的。Java基礎重點包括:github

  • Java經常使用類【特別是字符串處理相關的類】
  • 異常處理
  • 集合泛型
  • IO流
  • 多線程
  • 反射
  • 網絡編程
  • 常見設計模式
  • JVM【難點+重點,但比較花時間】

​ 那麼JavaWeb開發要不要會呢?個人建議是瞭解就行,瞭解常見的SSM框架,瞭解Web項目大體的開發流程,對整個軟件的開發有一個感性的認識,這樣就足夠了。固然學有餘力請繼續深刻。web

(二)工具類

軟件開發都繞不開使用別人的輪子,好的工具讓咱們開發效率大大提高,下面工具必須掌握:面試

編輯器:Eclipse + IDEAsql

項目構建工具:Maven + Gradle(有餘力)數據庫

數據庫:Mysql【初期先了解增刪改查,後面有時間能多深刻就多深刻】編程

操做系統:Linux【常見命令會就行】設計模式

腳本語言:Shell【看得懂就行】緩存

虛擬機:VMware 建立-克隆虛擬機,拍攝-還原快照【操做過就行】網絡

(三)Hadoop生態系統

  • HDFS:學會搭建徹底分佈式集羣,知道如何根據業務編寫MapReduce程序,並放到集羣上運行
  • YARN:知道它是個資源管理器和k8s同樣,熟悉Job提交的過程
  • Mapreduce:編寫業務程序【熟悉一些數據傾斜的解決方案和底層Shuffle過程】
  • Zookeeper:分佈式協調框架【知道Zookeeper選舉機制和經常使用命令】
  • Hive:數據倉庫,底層是MapReduce【重點掌握:HQL語句書寫,窗口函數,多作一些案例總結本身的套路,優化也要了解一下】
  • HBase:超大型分佈式數據庫,常常用來作實時查詢【瞭解HBase架構,RowKey設計原則,後面開發用到再來深刻】
  • Flume:數據傳輸框架【知道Flume組成,攔截器和選擇器使用】
  • Kafka:消息緩存框架【Kafka架構-壓測-監控-ISR同步隊列-事務-高效讀取】
  • Sqoop:關係型數據庫和HDFS,HBase之間數據的傳輸框架
  • Ambari: 用於配置、管理和監視Hadoop集羣,基於Web,界面友好
  • Impala: 對存儲在Apache Hadoop的HDFS,HBase的數據提供直接查詢互動的SQL

image-20200623091554367

image-20200623091654169

(四)Spark生態

​ 到這裏又要學習一門新的編程語言Scala,初入Scala可能會對它的語法結構產生不習慣,熟悉以後你會發現Java代碼是很繁瑣的。編程語言是什麼不重要,關鍵是背後的思想和邏輯才重要。

Scala:瞭解基礎語法、函數式編程和隱式轉換就行

Spark:能夠看做是對Hadoop框架的優化,它是基於內存進行計算的,性能提升不少。【熟悉Spark部署方式-提交流程-參數設置-RDD血統-寬窄依賴-轉換和行動算子-廣播變量和累加器-性能調優】

Spark-Sql:spark中負責和數據庫交互的模塊【熟悉DataFrame-DataSet,SQL語句書寫,UDF和UDTF函數使用】

Spark-Streaming:spark中負責流式計算的模塊【瞭解流式計算的原理,背壓機制,窗口函數】

image-20200623091716580

(五)Flink框架

Flink是目前最火的處理流式數據的框架應掌握一下內容

image-20200623091742219

image-20200629092628892

相關資料

image-20200624111507710

本文配套 GitHubhttps://github.com/zhutiansam...

本文配套公衆號:FocusBigData

回覆【大數據面經】【大數據面試經驗】【大數據學習路線圖】會有驚喜哦

相關文章
相關標籤/搜索