1. 程式人生 > >大資料學習入門必備規劃

大資料學習入門必備規劃

大資料方向的工作目前分為三個主要方向:

01.大資料工程師

02.資料分析師

03.大資料科學家

04.其他(資料探勘本質算是機器學習,不過和資料相關,也可以理解為大資料的一個方向吧)

一、大資料工程師的技能要求

二、大資料學習路徑

三、學習資源推薦(書籍、部落格、網站)

一、大資料工程師的技能要求

總結如下:

必須技能10條:

01.Java高階程式設計(虛擬機器、併發)

02.Linux 基本操作

03.Hadoop(此處指HDFS+MapReduce+Yarn )

04.HBase(JavaAPI操作+Phoenix )

05.Hive

06.Kafka

07.Storm

08.Scala

09.Python

10.Spark (Core+sparksql+Spark streaming )

進階技能6條:

11.機器學習演算法以及mahout庫加MLlib

12.R語言

13.Lambda 架構

14.Kappa架構

15.Kylin

16.Aluxio

二、學習路徑

第一階段:

01.Linux學習

02.Java 高階學習(《深入理解Java虛擬機器》、《Java高併發實戰》)

第二階段:

 

03.Hadoop

04.HBase

05.Hive

06.Scala

07.Spark

08.Python

第三階段:

對應技能需求,到網上多蒐集一些資料就ok了,

我把最重要的事情(要學什麼告訴你了),

剩下的就是你去搜集對應的資料學習就ok了

當然如果你覺得自己看書效率太慢,你可以網上搜集一些課程,跟著課程走也OK 。這個完全根據自己情況決定,如果看書效率不高就上網課,相反的話就自己看書。

07.至於書籍噹噹、京東一搜會有很多,其實內容都差不多 那麼如何從零開始規劃大資料學習之路! 大資料的領域非常廣泛,往往使想要開始學習大資料及相關技術的人望而生畏。大資料技術的種類眾多,這同樣使得初學者難以選擇從何處下手。本文將為你開始學習大資料的征程以及在大資料產業領域找到工作指明道路,提供幫助。

如何開始學習大資料?

 

在這裡還是要推薦下我自己建的大資料學習交流群:199427210,群裡都是學大資料開發的,如果你正在學習大資料 ,小編歡迎你加入,大家都是軟體開發黨,不定期分享乾貨(只有大資料軟體開發相關的),包括我自己整理的一份2018最新的大資料進階資料和高階開發教程,歡迎進階中和進想深入大資料的小夥伴加入。

人們想開始學習大資料的時候,最常問我的問題是,“我應該學Hadoop(hadoop是一款開源軟體,主要用於分散式儲存和計算,他由HDFS和MapReduce計算框架組成的,他們分別是Google的GFS和MapReduce的開源實現。由於hadoop的易用性和可擴充套件性,因此成為最近流行的海量資料處理框架。), 分散式計算,Kafka(Kafka是由LinkedIn開發的一個分散式基於釋出/訂閱的訊息系統),NoSQL(泛指非關係型的資料庫)還是Spark(Spark 是一種與 Hadoop 相似的開源叢集計算環境,但是兩者之間還存在一些不同之處)?”

而我通常只有一個答案:“這取決於你究竟想做什麼。”

與大資料相關的工作?

(1)大資料系統研發工程師:負責大資料系統研發工作,包括大規模非結構化資料業務模型構建、大資料儲存、資料庫架構設計以及資料庫詳細設計、優化資料庫構架、解決資料庫中心建設設計問題。他們還負責叢集的日常運作、系統的監測和配置、Hadoop與其他系統的整合。

(2)大資料應用開發工程師:負責搭建大資料應用平臺、開發分析應用程式。他們熟悉工具或演算法、程式設計、包裝、優化或者部署不同的MapReduce事務。他們以大資料技術為核心,研發各種基於大資料技術的應用程式及行業解決方案。

(3)大資料分析師:運用演算法來解決分析問題,並且從事資料探勘工作。他們最大的本事就是能夠讓資料道出真相;此外,他們還擁有某個領域的專長,幫助開發資料產品,推動資料解決方案的不斷更新。

(4)資料視覺化工程師:具備良好的溝通能力與團隊精神,責任心強,擁有優秀的解決問題的能力。他們負責在收集到的高質量資料中,利用圖形化的工具及手段的應用,一目瞭然地揭示資料中的複雜資訊,幫助企業更好的進行大資料應用開發,發現大資料背後的巨大財富。

你適合大資料什麼方向呢?

現在我們已經瞭解了行業中可供選擇的職業種類,讓我們想辦法來確定哪個領域適合你。這樣,我們才能確定你在這個行業中的位置。通常來說,基於你的教育背景和行業經驗可以進行分類。

例1:“我是一名電腦科學畢業生,不過沒有堅實的數學技巧。”

你對電腦科學或者數學有興趣,但是之前沒有相關經驗,你將被定義為一個新人。

例2:“我是一個電腦科學畢業生,目前正從事資料庫開發工作。”

你的興趣在電腦科學方向,你適合計算機工程師(資料相關工程)的角色。

大資料學習之路

核心是,大部分大資料技術都是用Java或Scala編寫的。但是別擔心,如果你不想用這些語言編寫程式碼,那麼你可以選擇Python或者R,因為大部分的大資料技術現在都支援Python和R。

因此,你可以從上述任何一種語言開始。 我建議選擇Python或Java。

接下來,你需要熟悉雲端工作。 這是因為如果你沒有在雲端處理大資料,沒有人會認真對待。 請嘗試在AWS,softlayer或任何其他雲端供應商上練習小型資料集。 他們大多數都有一個免費的層次,讓學生練習。如果你想的話,你可以暫時跳過此步驟,但請務必在進行任何面試之前在雲端工作。

接下來,你需要了解一個分散式檔案系統。最流行的分散式檔案系統就是Hadoop分散式檔案系統。在這個階段你還可以學習一些你發現與你所在領域相關的NoSQL資料庫。

那麼我們一起來看看大資料經典學習路線(及供參考)

1.Linux基礎和分散式叢集技術

學完此階段可掌握的核心能力:

熟練使用Linux,熟練安裝Linux上的軟體,瞭解熟悉負載均衡、高可靠等叢集相關概念,搭建網際網路高併發、高可靠的服務架構;

學完此階段可解決的現實問題:

搭建負載均衡、高可靠的伺服器叢集,可以增大網站的併發訪問量,保證服務不間斷地對外服務;

學完此階段可擁有的市場價值:

具備初級程式設計師必要具備的Linux伺服器運維能力。

1.內容介紹:

在大資料領域,使用最多的作業系統就是Linux系列,並且幾乎都是分散式叢集。該課程為大資料的基礎課程,主要介紹Linux作業系統、Linux常用命令、Linux常用軟體安裝、Linux網路、防火牆、Shell程式設計等。

2.案例:搭建網際網路高併發、高可靠的服務架構。

2.離線計算系統課程階段

1. 離線計算系統課程階段

HADOOP核心技術框架

學完此階段可掌握的核心能力:

1、通過對大資料技術產生的背景和行業應用案例瞭解hadoop的作用;2、掌握hadoop底層分散式檔案系統HDFS的原理、操作和應用開發;3、掌握MAPREDUCE分散式運算系統的工作原理和分散式分析應用開發;大資料學習交流群: 80512加7855 4、掌握HIVE資料倉庫工具的工作原理及應用開發。

學完此階段可解決的現實問題:

1、熟練搭建海量資料離線計算平臺;2、根據具體業務場景設計、實現海量資料儲存方案;3、根據具體資料分析需求實現基於mapreduce的分散式運算程式;

學完此階段可擁有的市場價值:

具備企業資料部初級應用開發人員的能力

1.1 HADOOP快速入門

1.1.1 hadoop知識背景

什麼是hadoop、hadoop產生背景、hadoop在大資料雲端計算中的位置和關係、國內hadoop的就業情況分析及課程大綱介紹國內外

 

hadoop應用案例介紹

分散式系統概述、hadoop生態圈及各組成部分的簡介

1.1.2 HIVE快速入門

hive基本介紹、hive的使用、資料倉庫基本知識

1.1.3 資料分析流程案例

web點選流日誌資料探勘的需求分析、資料來源、處理流程、資料分析結果匯出、資料展現

1.1.4 hadoop資料分析系統叢集搭建

叢集簡介、伺服器介紹、網路環境設定、伺服器系統環境設定、JDK環境安裝、hadoop叢集安裝部署、叢集啟動、叢集狀態測試

HIVE的配置安裝、HIVE啟動、HIVE使用測試

1.2 HDFS詳解

1.2.1 HDFS的概念和特性

什麼是分散式檔案系統、HDFS的設計目標、HDFS與其他分散式儲存系統的優劣勢比較、HDFS的適用場景

1.2.2 HDFS的shell操作

HDFS命令列客戶端啟動、HDFS命令列客戶端的基本操作、命令列客戶端支援的常用命令、常用引數介紹

1.2.3 HDFS的工作機制

HDFS系統的模組架構、HDFS寫資料流程、HDFS讀資料流程

NAMENODE工作機制、元資料儲存機制、元資料手動檢視、元資料checkpoint機制、NAMENODE故障恢復、DATANODE工作機制、DATANODE動態增減、全域性資料負載均衡

1.2.4 HDFS的java應用開發

搭建開發環境、獲取api中的客戶端物件、HDFS的java客戶端所具備的常用功能、HDFS客戶端對檔案的常用操作實現、利用HDFS的JAVA客戶端開發資料採集和儲存系統

1.3 MAPREDUCE詳解

1.3.1 MAPREDUCE快速上手

為什麼需要MAPREDUCE、MAPREDUCE程式執行演示、MAPREDUCE程式設計示例及程式設計規範、MAPREDUCE程式執行模式、MAPREDUCE程式除錯debug的幾種方式

1.3.2 MAPREDUCE程式的執行機制

MAPREDUCE程式執行流程解析、MAPTASK併發數的決定機制、MAPREDUCE中的combiner元件應用、MAPREDUCE中的序列化框架及應用、MAPREDUCE中的排序、MAPREDUCE中的自定義分割槽實現、MAPREDUCE的shuffle機制、MAPREDUCE利用資料壓縮進行優化、MAPREDUCE程式與YARN之間的關係、MAPREDUCE引數優化

通過以上各元件的詳解,深刻理解MAPREDUCE的核心執行機制,從而具備靈活應對各種複雜應用場景的能力

學完此階段可掌握的核心能力:

1、通過對資料倉庫知識的加強初步掌握資料倉庫的核心概念和設計流程;2、通過對HADOOP生態圈關鍵輔助工具的學習掌握hadoop分析系統的整合能力;3、通過電商系統點選流日誌資料探勘系統實戰專案,掌握hadoop離線資料探勘系統從資料採集、入庫、分析及報表展現的整套流程

學完此階段可解決的現實問題:

1、可根據企業具體場景設計海量資料分析系統的通用架構2、根據具體場景的特點有針對性地調整資料分析各環節的技術選型;3、根據具體需求搭建起整套離線資料分析系統;4、簡單資料倉庫模型的設計和架構5、各環節具體功能模組的開發實現

學完此階段可擁有的市場價值:

具備企業資料部中高階應用開發和初級架構師能力

2.1 資料倉庫增強

2.1.1 資料倉庫及資料模型入門

什麼是資料倉庫、資料倉庫的意義、資料倉庫核心概念、資料倉庫的體系結構

2.1.2 資料倉庫設計

建立資料倉庫的步驟、資料的抽取、資料的轉換、資料的載入、什麼是資料模型、資料模型的常見型別、如何設計資料模型、如何選擇資料建模的架構

典型資料模型——星型建模例項

2.1.3 資料倉庫建模樣例

業務建模、領域建模、邏輯建模、物理建模