大數據主要學習什麼內容?有什麼要求和條件?

用戶2717790427918


作為一名IT從業者,同時也是一名計算機專業的教育工作者,我來回答一下這個問題。

首先,當前大數據的知識體系還是比較龐大的,隨著大數據技術生態的逐漸成熟和完善,大數據領域也逐漸形成了更多的崗位細分,從事不同的崗位細分方向則需要學習不同的知識。

從當前大的崗位劃分來看,通常包括以下幾個崗位:

第一:大數據開發崗位。從近兩年大數據方向研究生的就業情況來看,開發崗位的人才需求量還是比較大的,相關崗位的薪資待遇也比較高,其中從事大數據平臺開發的研發級崗位會有更高的薪資待遇。從事大數據開發崗位,通常需要學習三大塊內容,其一是程序開發技術,初學者可以從Java或者Python開始學起;其二是學習大數據平臺知識,初學者可以從Hadoop和Spark開始學起;其三是大數據開發實踐,這個過程需要掌握一定的行業知識。

第二:大數據分析崗位。大數據分析崗位的人才需求潛力是非常大的,不僅IT(互聯網)行業需要大量的大數據分析人才,傳統行業領域也需要大數據分析人才。選擇大數據分析方向需要具有一定的數學和統計學基礎,而且也有一定的學習難度。目前大數據分析的常見方式有兩種,分別是統計學方式和機器學習方式。

第三:大數據運維崗位。如果對於編程和算法設計不感興趣,那麼也可以考慮學習大數據運維知識,未來可以從事大數據運維崗位。大數據運維崗位的任務相對比較雜,需要從業者具有較強的動手實踐能力。從知識結構上來看,大數據運維需要掌握網絡知識、大數據平臺知識和服務器知識。

我從事互聯網行業多年,目前也在帶計算機專業的研究生,主要的研究方向集中在大數據和人工智能領域,我會陸續寫一些關於互聯網技術方面的文章,感興趣的朋友可以關注我,相信一定會有所收穫。

如果有互聯網、大數據、人工智能等方面的問題,或者是考研方面的問題,都可以在評論區留言,或者私信我!


IT人劉俊明


首先你要清楚自己為什麼想要學習大數據,其次現在的工作機會是不是你心儀的工作,然後想要學習大數據是感興趣還是盲目跟風,最後如果是想往大數據方面發展的話那麼一定要了解大數據的職業劃分和薪資情況,到底想從事大數據工作的哪個方向。

我的建議:IT技術更新迭代速度很快,所以一定要做到未雨綢繆,選好方向做好規劃,避免還沒等學就被淘汰了。

下面我從2個方面介紹

1.大數據職業劃分和薪資介紹及我的認為的發展發現

2.大數據的學習路線


大數據職業劃分和薪資介紹


從51job、智聯、獵聘查看職位,我認為大數據大概分為這5個方向

數據管理類:首席數據官、數據管理員、數據安全工程師;

這類主要負責公司數據的管理,數據安全策略的制定和實現。

數據分析類:戰略分析師、數據分析師、商業智能分析員;

這類主要負責數據分析相關的工作。

數據挖掘類:數據挖掘工程師、算法工程師;

這類負責數據挖掘算法的設計與策略。

技術研發類:數據倉庫架構師、數據採集工程師、數據倉庫開發工程師、數據可視化工程師、大數據架構師、大數據開發工程師;

這類主要負責數據倉庫的搭建和ETL任務的開發。

IT基礎架構類:hadoop運維工程師、數據庫運維工程師、系統運維工程師

這類主要負責大數據集群軟硬件的管理和維護。

薪資在獵聘上截了幾張圖,具體你可以上智聯、51job或獵聘上搜職位名稱查看薪酬。

我對大數據發展方向的建議:我朋友就是做獵頭的,據他說目前最火的還是算法工程師,以前不起眼,現在隨著5G的興起,AI方向有更為廣闊的發展空間,BAT玩命的招人。其次就是做技術開發類,做大數據平臺的,這也是目前招聘人數最多的,如果做到大數據架構師,年薪百萬不是問題。數據分析類和數據管理類的一般是甲方企業,偏企業內部。最後是運維,相對發展前景最差。


大數據的學習路線


必須掌握的技能11條

Java高級(虛擬機、併發)
Linux 基本操作
Hadoop(HDFS+MapReduce+Yarn )
HBase(JavaAPI操作+Phoenix )
Hive(Hql基本操作和原理理解)
Kafka
Storm/JStorm
Scala
Python
Spark (Core+sparksql+Spark streaming )
輔助小工具(Sqoop/Flume/Oozie/Hue等)

高階技能6條

機器學習算法以及mahout庫加MLlib
R語言
Lambda 架構
Kappa架構
Kylin
Alluxio

面列出來的順序只是個人建議,可以根據個人實際情況來調整順序

第一階段(基礎階段)

Linux學習(跟鳥哥學就ok了)—–20小時

  1. Linux操作系統介紹與安裝。
  2. Linux常用命令。
  3. Linux常用軟件安裝。
  4. Linux網絡。
  5. 防火牆。
  6. Shell編程等。

官網:https://www.centos.org/download/


Java 高級學習(《深入理解Java虛擬機》、《Java高併發實戰》)—30小時

  1. 掌握多線程。
  2. 掌握併發包下的隊列。
  3. 瞭解JMS。
  4. 掌握JVM技術。
  5. 掌握反射和動態代理。

官網: https://www.java.com/zh_CN/中文社區:http://www.java-cn.com/index.html


Zookeeper學習

  1. Zookeeper分佈式協調服務介紹。
  2. Zookeeper集群的安裝部署。
  3. Zookeeper數據結構、命令。
  4. Zookeeper的原理以及選舉機制。

官網: http://zookeeper.apache.org/中文社區:http://www.aboutyun.com/forum-149-1.html


第二階段(入門,攻堅階段)

Hadoop (《Hadoop 權威指南》)—80小時

  1. HDFS

    • HDFS的概念和特性。
    • HDFS的shell操作。
    • HDFS的工作機制。
    • HDFS的Java應用開發。
  2. MapReduce

    • 運行WordCount示例程序。
    • 瞭解MapReduce內部的運行機制。
      • MapReduce程序運行流程解析。
      • MapTask併發數的決定機制。
      • MapReduce中的combiner組件應用。
      • MapReduce中的序列化框架及應用。
      • MapReduce中的排序。
      • MapReduce中的自定義分區實現。
      • MapReduce的shuffle機制。
      • MapReduce利用數據壓縮進行優化。
      • MapReduce程序與YARN之間的關係。
      • MapReduce參數優化。
  3. MapReduce的Java應用開發

官網:http://hadoop.apache.org/

中文文檔:http://hadoop.apache.org/docs/r1.0.4/cn/


Hive(《Hive開發指南》)–20小時

  1. Hive 基本概念

    • Hive 應用場景。
    • Hive 與hadoop的關係。
    • Hive 與傳統數據庫對比。
    • Hive 的數據存儲機制。
  2. Hive 基本操作

    • Hive 中的DDL操作。
    • 在Hive 中如何實現高效的JOIN查詢。
    • Hive 的內置函數應用。
    • Hive shell的高級使用方式。
    • Hive 常用參數配置。
    • Hive 自定義函數和Transform的使用技巧。
    • Hive UDF/UDAF開發實例。
  3. Hive 執行過程分析及優化策略

官網:https://hive.apache.org/

中文入門文檔:http://www.aboutyun.com/thread-11873-1-1.html


HBase(《HBase權威指南》)—20小時


  1. hbase簡介。
  2. habse安裝。
  3. hbase數據模型。
  4. hbase命令。
  5. hbase開發。
  6. hbase原理。
官網:http://hbase.apache.org/

中文文檔:http://abloz.com/hbase/book.html


Scala(《快學Scala》)–20小時

  1. Scala概述。
  2. Scala編譯器安裝。
  3. Scala基礎。
  4. 數組、映射、元組、集合。
  5. 類、對象、繼承、特質。
  6. 模式匹配和樣例類。
  7. 瞭解Scala Actor併發編程。
  8. 理解Akka。
  9. 理解Scala高階函數。
  10. 理解Scala隱式轉換。
官網:http://www.scala-lang.org/

初級中文教程:http://www.runoob.com/scala/scala-tutorial.html



Spark (《Spark 權威指南》)—60小時

  1. Spark core

    • Spark概述。
    • Spark集群安裝。
    • 執行第一個Spark案例程序(求PI)。
  2. RDD

    • RDD概述。
    • 創建RDD。
    • RDD編程API(Transformation 和 Action Operations)。
    • RDD的依賴關係
    • RDD的緩存
    • DAG(有向無環圖)
  3. Spark SQL and DataFrame/DataSet

    • Spark SQL概述。
    • DataFrames。
    • DataFrame常用操作。
    • 編寫Spark SQL查詢程序。
  4. Spark Streaming

    • park Streaming概述。
    • 理解DStream。
    • DStream相關操作(Transformations 和 Output Operations)。
  5. Structured Streaming

  6. 其他(MLlib and GraphX )

這個部分一般工作中如果不是數據挖掘,機器學習一般用不到,可以等到需要用到的時候再深入學習。

官網: http://spark.apache.org中文社區:http://www.aboutyun.com/forum-146-1.htm


Python (推薦廖雪峰的博客—30小時)


目前暫且列出來這麼多吧,大數據目前還有很多比較好的技術框架,這個就需要等大家以後工作之後再去擴展了,大家在學習的時候,要專門挑一兩個著重研究一下,最好針對,底層原理,優化,源碼等部分有所涉獵,這麼的話可以在面試過程中脫穎而出。不要想著把每一個框架都搞精通,目前是不現實的,其實就算是在工作中也不會每一個框架都會用的很深,如果能過對上面的框架都大致會使用,並且對某一兩個框架研究的比較深的話,其實想去找一份滿意的大數據工作也就水到渠成了。


--如果覺得答案解決了你的問題,請採納,有問題可繼續追問--


挨踢精英


大數據開發工程師是大數據領域一個比較熱門的崗位,有大量的傳統應用需要進行大數據改造,因此崗位有較多的人才需求。這個崗位需要掌握的知識結構包括大數據平臺體系結構,比如目前常見的Hadoop、Spark平臺,以及眾多組件的功能和應用,另外還需要掌握至少一門編程語言,比如Java、Python、Scala等。

大數據分析師是大數據領域非常重要的崗位,大數據分析師需要掌握的知識結構包括算法設計、編程語言以及呈現工具,算法設計是大數據分析師需要掌握的重點內容,而編程語言的作用則是完成算法的實現。另外,大數據分析師還需要掌握一些常見的分析工具。

大數據運維工程師的主要工作內容是搭建大數據平臺、部署大數據功能組件、配置網絡環境和硬件環境、維護大數據平臺,大數據運維工程師需要具備的知識結構包括計算機網絡、大數據平臺體系結構、編程語言(編寫運維腳本)等,通常情況下,大數據運維工程師也需要對數據庫有深入的瞭解。

大數據工程師是做什麼的?需要掌握哪些技能?

https://www.toutiao.com/i6711595957814821380/


加米穀大數據


大數據中也有多種崗位,有的偏向開發,有的偏向運維,有的偏向數據分析與挖掘。開發的話Java居多,不過只需要到JavaSE層面即可,也可以選用Scala/Python開發。數據分析與挖掘基本上就是Python了。所以建議學習Python了。要求與條件的話,如果是計算機/數學/統計相關專業最好,不過還是看個人的學習能力與是否堅持。

1) 簡單點評:

發展不錯,需求不少,不過需求中主要是數據分析相關崗位,牽涉到算法建模等高級內容的話實際上不適合剛畢業的不同本科學生。建議普通本科或專科學生從數據分析入行,掌握Python,以後逐步向高級數據分析師、數據挖掘工程師、人工智能開發工程師方向走,

2)發展前景:

大數據類職位需求增幅僅次於AI崗位。眼下,幾乎所有互聯網企業均把數據人才列為團隊標配。許多公司在數據層面增加投入,大量招募具有算法和建模能力的人才,力求通過數據沉澱與挖掘更好地推進產品的迭代。數據架構師、數據分析師成為企業爭搶對象,過去一年招聘需求提高150%以上。2017,互聯網公司對AI和數據人才的爭搶活躍度提高了30%以上,企業間相互挖角行為變得更加頻繁,人才爭奪激烈程度全面升級。物聯網、智慧城市、增強現實(AR)與虛擬現實(VR)、區塊鏈技術、語音識別、人工智能、數字彙流是大數據未來應用的七大發展方向。

3)行業定位:


4)面向專業:

計算機、數學與統計、物理、電子、通信工程、物聯網、網絡工程等相關專業大專以上學生。推薦中上游學生學習。

5)薪酬分析:

我本人在IT行業混了二十多年,從事軟件開發與軟件教育,現在主要是管理,不過始終沒有脫離寫程序,有興趣可以交流哦!


語凡提


1. 數學知識

數學知識是數據分析師的基礎知識。對於初級數據分析師,瞭解一些描述統計相關的基礎內容,有一定的公式計算能力即可,瞭解常用統計模型算法則是加分。對於高級數據分析師,統計模型相關知識是必備能力,線性代數(主要是矩陣計算相關知識)最好也有一定的瞭解。而對於數據挖掘工程師,除了統計學以外,各類算法也需要熟練使用,對數學的要求是最高的。

2. 分析工具對於初級數據分析師,玩轉Excel是必須的,數據透視表和公式使用必須熟練,VBA是加分。另外,還要學會一個統計分析工具,SPSS作為入門是比較好的。對於高級數據分析師,使用分析工具是核心能力,VBA基本必備,SPSS/SAS/R至少要熟練使用其中之一,其他分析工具(如Matlab)視情況而定。對於數據挖掘工程師……嗯,會用用Excel就行了,主要工作要靠寫代碼來解決呢。

3. 編程語言對於初級數據分析師,會寫SQL查詢,有需要的話寫寫Hadoop和Hive查詢,基本就OK了。對於高級數據分析師,除了SQL以外,學習Python是很有必要的,用來獲取和處理數據都是事半功倍。當然其他編程語言也是可以的。對於數據挖掘工程師,Hadoop得熟悉,Python/Java/C++至少得熟悉一門,Shell得會用……總之編程語言絕對是數據挖掘工程師的最核心能力了。

4. 業務理解業務理解說是數據分析師所有工作的基礎也不為過,數據的獲取方案、指標的選取、乃至最終結論的洞察,都依賴於數據分析師對業務本身的理解。對於初級數據分析師,主要工作是提取數據和做一些簡單圖表,以及少量的洞察結論,擁有對業務的基本瞭解就可以。對於高級數據分析師,需要對業務有較為深入的瞭解,能夠基於數據,提煉出有效觀點,對實際業務能有所幫助。對於數據挖掘工程師,對業務有基本瞭解就可以,重點還是需要放在發揮自己的技術能力上。

5. 邏輯思維這項能力在我之前的文章中提的比較少,這次單獨拿出來說一下。對於初級數據分析師,邏輯思維主要體現在數據分析過程中每一步都有目的性,知道自己需要用什麼樣的手段,達到什麼樣的目標。對於高級數據分析師,邏輯思維主要體現在搭建完整有效的分析框架,瞭解分析對象之間的關聯關係,清楚每一個指標變化的前因後果,會給業務帶來的影響。對於數據挖掘工程師,邏輯思維除了體現在和業務相關的分析工作上,還包括算法邏輯,程序邏輯等,所以對邏輯思維的要求也是最高的。

6. 數據可視化數據可視化說起來很高大上,其實包括的範圍很廣,做個PPT裡邊放上數據圖表也可以算是數據可視化,所以我認為這是一項普遍需要的能力。對於初級數據分析師,能用Excel和PPT做出基本的圖表和報告,能清楚的展示數據,就達到目標了。對於高級數據分析師,需要探尋更好的數據可視化方法,使用更有效的數據可視化工具,根據實際需求做出或簡單或複雜,但適合受眾觀看的數據可視化內容。對於數據挖掘工程師,瞭解一些數據可視化工具是有必要的,也要根據需求做一些複雜的可視化圖表,但通常不需要考慮太多美化的問題。

7. 協調溝通對於初級數據分析師,瞭解業務、尋找數據、講解報告,都需要和不同部門的人打交道,因此溝通能力很重要。對於高級數據分析師,需要開始獨立帶項目,或者和產品做一些合作,因此除了溝通能力以外,還需要一些項目協調能力。對於數據挖掘工程師,和人溝通技術方面內容偏多,業務方面相對少一些,對溝通協調的要求也相對低一些。

下面是學習資料指南(需要原圖,加我好友,私信索取):


Echa攻城獅


學習大數據需要循序漸進的學,掌握一套學習方法很重,把需要學習的內容分成幾個階段,系統學習。我簡單的列了一下需要學習的內容,僅供參考。

第一階段

JavaSE基礎核心

Java入門語法、面向對象核心、集合與泛型、線程機制、網絡編程、流程控制結構、異常體系、反射體系、IO流、設計模式

第二階段

數據庫關鍵技術

MySql安裝和使用、DML(數據操縱語言)、DCL(數據控制語言)、存儲過程和函數、JDBC核心技術、SQL語言解析、DDL(數據定義語言)

第三階段

大數據基礎核心

Maven、Hadoop、Hive、Kafka、Linux、Shell、Zookeeper+HA、Flume、HBase

第四階段

Spark生態體系框架

Scala語言、Spark SQL、Kylin、Druid、Sqoop、Spark Core、Presto、Spark Streaming、Redis緩存數據庫、GIT & GIT Hub、ElasticSearch

第五階段

Flink流式數據處理框架

Flink Environment、Flink DataSet、Flink Window、Flink State & Checkpoint、Flink on Yarn、Flink DataStream、Flink Watermark


大數據漫路求索


hadoop、Hbase、hive、spark等框架使用來分析海量的數據,進行計算、統計、得出想要的結果。

條件:開發語言JAVA、操作系統Linux系統




閉著眼睛切土豆


大數據技術的學習內容有很多,包括:

基礎階段:Linux、Docker、KVM、MySQL基礎、Oracle基礎、MongoDB、redis。

hadoop mapreduce hdfs yarn:hadoop:Hadoop 概念、版本、歷史,HDFS工作原理,YARN介紹及組件介紹。

大數據存儲階段:hbase、hive、sqoop。

大數據架構設計階段:Flume分佈式、Zookeeper、Kafka。

大數據實時計算階段:Mahout、Spark、storm。

大數據數據採集階段:Python、Scala。

大數據商業實戰階段:實操企業大數據處理業務場景,分析需求、解決方案實施,綜合技術實戰應用。


武器的小知識


大數據可以學習hadoop,hive,zookeeper,hbase,scala,kafka,flume,spark很多,mysql,


網絡好無聊


----專注解答大學生就業問題,歡迎提問!----

如果你是大學生,相關專業,確實應該學習,哪怕是理論層面的瞭解也是有價值的。

你要具備大數據思維,這點非常重要,時代變了,沒有這種思維,很容易落後。

如果你想在技術上學習大數據,我建議,首先是計算機語言,和發數據開發架構,然後是數學和算法。這些是大數據的基礎。

但大數據真正使用,是需要結合業務的,不同行業需要的業務不同,比如金融行業,工業,互聯網等等。

----專注解答大學生就業問題,歡迎提問!----


分享到:


相關文章: