大数据学习入门规划?和学习路线
大數(shù)據(jù)方向的工作目前分為三個主要方向:
01.大數(shù)據(jù)工程師?
02.數(shù)據(jù)分析師?
03.大數(shù)據(jù)科學(xué)家?
04.其他(數(shù)據(jù)挖掘本質(zhì)算是機(jī)器學(xué)習(xí),不過和數(shù)據(jù)相關(guān),也可以理解為大數(shù)據(jù)的一個方向吧)
一、大數(shù)據(jù)工程師的技能要求?
二、大數(shù)據(jù)學(xué)習(xí)路徑?
三、學(xué)習(xí)資源推薦(書籍、博客、網(wǎng)站)
一、大數(shù)據(jù)工程師的技能要求
總結(jié)如下:
必須技能10條:?
01.Java高級編程(虛擬機(jī)、并發(fā))?
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 )
進(jìn)階技能6條:?
11.機(jī)器學(xué)習(xí)算法以及mahout庫加MLlib?
12.R語言?
13.Lambda 架構(gòu)?
14.Kappa架構(gòu)?
15.Kylin?
16.Aluxio
二、學(xué)習(xí)路徑
第一階段:?
01.Linux學(xué)習(xí)(跟鳥哥學(xué)就ok了)?
02.Java 高級學(xué)習(xí)(《深入理解Java虛擬機(jī)》、《Java高并發(fā)實(shí)戰(zhàn)》)
第二階段:
03.Hadoop (董西成的書)?
04.HBase(《HBase權(quán)威指南》)?
05.Hive(《Hive開發(fā)指南》)?
06.Scala(《快學(xué)Scala》)?
07.Spark (《Spark 快速大數(shù)據(jù)分析》)?
08.Python (跟著廖雪峰的博客學(xué)習(xí)就ok了)
第三階段:?
對應(yīng)技能需求,到網(wǎng)上多搜集一些資料就ok了,?
我把最重要的事情(要學(xué)什么告訴你了),?
剩下的就是你去搜集對應(yīng)的資料學(xué)習(xí)就ok了
當(dāng)然如果你覺得自己看書效率太慢,你可以網(wǎng)上搜集一些課程,跟著課程走也OK 。這個完全根據(jù)自己情況決定,如果看書效率不高就上網(wǎng)課,相反的話就自己看書。
三,學(xué)習(xí)資源推薦:
01.Apache 官網(wǎng)?
02.Stackoverflow?
04.github?
03.Cloudra官網(wǎng)?
04.Databrick官網(wǎng)?
05.過往的記憶(技術(shù)博客)?
06.CSDN,51CTO?
07.至于書籍當(dāng)當(dāng)、京東一搜會有很多,其實(shí)內(nèi)容都差不多 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?那么如何從零開始規(guī)劃大數(shù)據(jù)學(xué)習(xí)之路! ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?大數(shù)據(jù)的領(lǐng)域非常廣泛,往往使想要開始學(xué)習(xí)大數(shù)據(jù)及相關(guān)技術(shù)的人望而生畏。大數(shù)據(jù)技術(shù)的種類眾多,這同樣使得初學(xué)者難以選擇從何處下手。本文將為你開始學(xué)習(xí)大數(shù)據(jù)的征程以及在大數(shù)據(jù)產(chǎn)業(yè)領(lǐng)域找到工作指明道路,提供幫助。
如何開始學(xué)習(xí)大數(shù)據(jù)?
人們想開始學(xué)習(xí)大數(shù)據(jù)的時候,最常問我的問題是,“我應(yīng)該學(xué)Hadoop(hadoop是一款開源軟件,主要用于分布式存儲和計(jì)算,他由HDFS和MapReduce計(jì)算框架組成的,他們分別是Google的GFS和MapReduce的開源實(shí)現(xiàn)。由于hadoop的易用性和可擴(kuò)展性,因此成為最近流行的海量數(shù)據(jù)處理框架。), 分布式計(jì)算,Kafka(Kafka是由LinkedIn開發(fā)的一個分布式基于發(fā)布/訂閱的消息系統(tǒng)),NoSQL(泛指非關(guān)系型的數(shù)據(jù)庫)還是Spark(Spark 是一種與 Hadoop 相似的開源集群計(jì)算環(huán)境,但是兩者之間還存在一些不同之處)?”
而我通常只有一個答案:“這取決于你究竟想做什么?!?/p>
與大數(shù)據(jù)相關(guān)的工作?
(1)大數(shù)據(jù)系統(tǒng)研發(fā)工程師:負(fù)責(zé)大數(shù)據(jù)系統(tǒng)研發(fā)工作,包括大規(guī)模非結(jié)構(gòu)化數(shù)據(jù)業(yè)務(wù)模型構(gòu)建、大數(shù)據(jù)存儲、數(shù)據(jù)庫架構(gòu)設(shè)計(jì)以及數(shù)據(jù)庫詳細(xì)設(shè)計(jì)、優(yōu)化數(shù)據(jù)庫構(gòu)架、解決數(shù)據(jù)庫中心建設(shè)設(shè)計(jì)問題。他們還負(fù)責(zé)集群的日常運(yùn)作、系統(tǒng)的監(jiān)測和配置、Hadoop與其他系統(tǒng)的集成。
(2)大數(shù)據(jù)應(yīng)用開發(fā)工程師:負(fù)責(zé)搭建大數(shù)據(jù)應(yīng)用平臺、開發(fā)分析應(yīng)用程序。他們熟悉工具或算法、編程、包裝、優(yōu)化或者部署不同的MapReduce事務(wù)。他們以大數(shù)據(jù)技術(shù)為核心,研發(fā)各種基于大數(shù)據(jù)技術(shù)的應(yīng)用程序及行業(yè)解決方案。
(3)大數(shù)據(jù)分析師:運(yùn)用算法來解決分析問題,并且從事數(shù)據(jù)挖掘工作。他們最大的本事就是能夠讓數(shù)據(jù)道出真相;此外,他們還擁有某個領(lǐng)域的專長,幫助開發(fā)數(shù)據(jù)產(chǎn)品,推動數(shù)據(jù)解決方案的不斷更新。
(4)數(shù)據(jù)可視化工程師:具備良好的溝通能力與團(tuán)隊(duì)精神,責(zé)任心強(qiáng),擁有優(yōu)秀的解決問題的能力。他們負(fù)責(zé)在收集到的高質(zhì)量數(shù)據(jù)中,利用圖形化的工具及手段的應(yīng)用,一目了然地揭示數(shù)據(jù)中的復(fù)雜信息,幫助企業(yè)更好的進(jìn)行大數(shù)據(jù)應(yīng)用開發(fā),發(fā)現(xiàn)大數(shù)據(jù)背后的巨大財(cái)富。
你適合大數(shù)據(jù)什么方向呢?
現(xiàn)在我們已經(jīng)了解了行業(yè)中可供選擇的職業(yè)種類,讓我們想辦法來確定哪個領(lǐng)域適合你。這樣,我們才能確定你在這個行業(yè)中的位置。通常來說,基于你的教育背景和行業(yè)經(jīng)驗(yàn)可以進(jìn)行分類。
例1:“我是一名計(jì)算機(jī)科學(xué)畢業(yè)生,不過沒有堅(jiān)實(shí)的數(shù)學(xué)技巧?!?/p>
你對計(jì)算機(jī)科學(xué)或者數(shù)學(xué)有興趣,但是之前沒有相關(guān)經(jīng)驗(yàn),你將被定義為一個新人。
例2:“我是一個計(jì)算機(jī)科學(xué)畢業(yè)生,目前正從事數(shù)據(jù)庫開發(fā)工作。”
你的興趣在計(jì)算機(jī)科學(xué)方向,你適合計(jì)算機(jī)工程師(數(shù)據(jù)相關(guān)工程)的角色。
大數(shù)據(jù)學(xué)習(xí)之路
核心是,大部分大數(shù)據(jù)技術(shù)都是用Java或Scala編寫的。但是別擔(dān)心,如果你不想用這些語言編寫代碼,那么你可以選擇Python或者R,因?yàn)榇蟛糠值拇髷?shù)據(jù)技術(shù)現(xiàn)在都支持Python和R。
因此,你可以從上述任何一種語言開始。 我建議選擇Python或Java。
接下來,你需要熟悉云端工作。 這是因?yàn)槿绻銢]有在云端處理大數(shù)據(jù),沒有人會認(rèn)真對待。 請嘗試在AWS,softlayer或任何其他云端供應(yīng)商上練習(xí)小型數(shù)據(jù)集。 他們大多數(shù)都有一個免費(fèi)的層次,讓學(xué)生練習(xí)。如果你想的話,你可以暫時跳過此步驟,但請務(wù)必在進(jìn)行任何面試之前在云端工作。
接下來,你需要了解一個分布式文件系統(tǒng)。最流行的分布式文件系統(tǒng)就是Hadoop分布式文件系統(tǒng)。在這個階段你還可以學(xué)習(xí)一些你發(fā)現(xiàn)與你所在領(lǐng)域相關(guān)的NoSQL數(shù)據(jù)庫。
那么我們一起來看看大數(shù)據(jù)經(jīng)典學(xué)習(xí)路線(及供參考)
學(xué)習(xí)路線
Linux(shell,高并發(fā)架構(gòu),lucene,solr)
Hadoop(Hadoop,HDFS,Mapreduce,yarn,hive,hbase,sqoop,zookeeper,flume)
機(jī)器學(xué)習(xí)(R,mahout)
Storm(Storm,kafka,redis)
Spark(scala,spark,spark core,spark sql,spark streaming,spark mllib,spark graphx)
Python(python,spark python)
云計(jì)算平臺(docker,kvm,openstack)
大數(shù)據(jù)學(xué)習(xí)資料分享群199427210
名詞解釋
一、Linux
lucene: 全文檢索引擎的架構(gòu)
solr: 基于lucene的全文搜索服務(wù)器,實(shí)現(xiàn)了可配置、可擴(kuò)展并對查詢性能進(jìn)行了優(yōu)化,并且提供了一個完善的功能管理界面。
二、Hadoop
hadoop common
HDFS: 分布式存儲系統(tǒng),包含NameNode,DataNode。NameNode:元數(shù)據(jù),DataNode。DataNode:存數(shù)數(shù)據(jù)。
yarn: 可以理解為MapReduce的協(xié)調(diào)機(jī)制,本質(zhì)就是Hadoop的處理分析機(jī)制,分為ResourceManager NodeManager。
MapReduce: 軟件框架,編寫程序。
Hive: 數(shù)據(jù)倉庫 可以用SQL查詢,可以運(yùn)行Map/Reduce程序。用來計(jì)算趨勢或者網(wǎng)站日志,不應(yīng)用于實(shí)時查詢,需要很長時間返回結(jié)果。
HBase: 數(shù)據(jù)庫。非常適合用來做大數(shù)據(jù)的實(shí)時查詢。Facebook用Hbase存儲消息數(shù)據(jù)并進(jìn)行消息實(shí)時的分析
ZooKeeper: 針對大型分布式的可靠性協(xié)調(diào)系統(tǒng)。Hadoop的分布式同步等靠Zookeeper實(shí)現(xiàn),例如多個NameNode,active standby切換。
Sqoop: 數(shù)據(jù)庫相互轉(zhuǎn)移,關(guān)系型數(shù)據(jù)庫和HDFS相互轉(zhuǎn)移
Mahout: 可擴(kuò)展的機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘庫。用來做推薦挖掘,聚集,分類,頻繁項(xiàng)集挖掘。
Chukwa: 開源收集系統(tǒng),監(jiān)視大型分布式系統(tǒng),建立在HDFS和Map/Reduce框架之上。顯示、監(jiān)視、分析結(jié)果。
Ambari: 用于配置、管理和監(jiān)視Hadoop集群,基于Web,界面友好。
二、Cloudera
Cloudera Manager: 管理 監(jiān)控 診斷 集成
Cloudera CDH:(Cloudera’s Distribution,including Apache Hadoop) Cloudera對Hadoop做了相應(yīng)的改變,發(fā)行版本稱為CDH。
Cloudera Flume: 日志收集系統(tǒng),支持在日志系統(tǒng)中定制各類數(shù)據(jù)發(fā)送方,用來收集數(shù)據(jù)。
Cloudera Impala: 對存儲在Apache Hadoop的HDFS,HBase的數(shù)據(jù)提供直接查詢互動的SQL。
Cloudera hue: web管理器,包括hue ui,hui server,hui db。hue提供所有CDH組件的shell界面的接口,可以在hue編寫mr。
三、機(jī)器學(xué)習(xí)/R
R: 用于統(tǒng)計(jì)分析、繪圖的語言和操作環(huán)境,目前有Hadoop-R
mahout: 提供可擴(kuò)展的機(jī)器學(xué)習(xí)領(lǐng)域經(jīng)典算法的實(shí)現(xiàn),包括聚類、分類、推薦過濾、頻繁子項(xiàng)挖掘等,且可通過Hadoop擴(kuò)展到云中。
四、storm
Storm: 分布式,容錯的實(shí)時流式計(jì)算系統(tǒng),可以用作實(shí)時分析,在線機(jī)器學(xué)習(xí),信息流處理,連續(xù)性計(jì)算,分布式RPC,實(shí)時處理消息并更新數(shù)據(jù)庫。
Kafka: 高吞吐量的分布式發(fā)布訂閱消息系統(tǒng),可以處理消費(fèi)者規(guī)模的網(wǎng)站中的所有動作流數(shù)據(jù)(瀏覽,搜索等)。相對Hadoop的日志數(shù)據(jù)和離線分析,可以實(shí)現(xiàn)實(shí)時處理。目前通過Hadoop的并行加載機(jī)制來統(tǒng)一線上和離線的消息處理
Redis: 由c語言編寫,支持網(wǎng)絡(luò)、可基于內(nèi)存亦可持久化的日志型、key-value型數(shù)據(jù)庫。
五、Spark
Scala: 一種類似java的完全面向?qū)ο蟮木幊陶Z言。
Spark: Spark是在Scala語言中實(shí)現(xiàn)的類似于Hadoop MapReduce的通用并行框架,除了Hadoop MapReduce所具有的優(yōu)點(diǎn),但不同于MapReduce的是job中間輸出結(jié)果可以保存在內(nèi)存中,從而不需要讀寫HDFS,因此Spark能更好的適用于數(shù)據(jù)挖掘與機(jī)器學(xué)習(xí)等需要迭代的MapReduce算法??梢院虷adoop文件系統(tǒng)并行運(yùn)作,用過Mesos的第三方集群框架可以支持此行為。
Spark SQL:
Spark Streaming: 一種構(gòu)建在Spark上的實(shí)時計(jì)算框架,擴(kuò)展了Spark處理大數(shù)據(jù)流式數(shù)據(jù)的能力。
Spark MLlib: MLlib是Spark是常用的機(jī)器學(xué)習(xí)算法的實(shí)現(xiàn)庫,目前(2014.05)支持二元分類,回歸,聚類以及協(xié)同過濾。同時也包括一個底層的梯度下降優(yōu)化基礎(chǔ)算法。MLlib以來jblas線性代數(shù)庫,jblas本身以來遠(yuǎn)程的Fortran程序。
Spark GraphX: GraphX是Spark中用于圖和圖并行計(jì)算的API,可以在Spark之上提供一站式數(shù)據(jù)解決方案,可以方便且高效地完成圖計(jì)算的一整套流水作業(yè)。
jblas: 一個快速的線性代數(shù)庫(JAVA)?;贐LAS與LAPACK,矩陣計(jì)算實(shí)際的行業(yè)標(biāo)準(zhǔn),并使用先進(jìn)的基礎(chǔ)設(shè)施等所有的計(jì)算程序的ATLAS藝術(shù)的實(shí)現(xiàn),使其非??臁?/p>
Fortran: 最早出現(xiàn)的計(jì)算機(jī)高級程序設(shè)計(jì)語言,廣泛應(yīng)用于科學(xué)和工程計(jì)算領(lǐng)域。
BLAS: 基礎(chǔ)線性代數(shù)子程序庫,擁有大量已經(jīng)編寫好的關(guān)于線性代數(shù)運(yùn)算的程序。
LAPACK: 著名的公開軟件,包含了求解科學(xué)與工程計(jì)算中最常見的數(shù)值線性代數(shù)問題,如求解線性方程組、線性最小二乘問題、特征值問題和奇異值問題等。
ATLAS: BLAS線性算法庫的優(yōu)化版本。
Spark Python: Spark是由scala語言編寫的,但是為了推廣和兼容,提供了java和python接口。
六、Python
Python: 一種面向?qū)ο蟮?、解釋型?jì)算機(jī)程序設(shè)計(jì)語言。
七、云計(jì)算平臺
Docker: 開源的應(yīng)用容器引擎?
kvm: (Keyboard Video Mouse)?
openstack: 開源的云計(jì)算管理平臺項(xiàng)目
查看更多文章:
沒有基礎(chǔ)想學(xué)大數(shù)據(jù)難嗎?
大數(shù)據(jù)入門學(xué)習(xí),你要掌握這些技能
大數(shù)據(jù)領(lǐng)域三個大的技術(shù)方向
自學(xué)大數(shù)據(jù)從哪入手
大數(shù)據(jù)專業(yè)未來就業(yè)前景如何?
教你大數(shù)據(jù)必修三大技能 ,快快記錄下來
總結(jié)
以上是生活随笔為你收集整理的大数据学习入门规划?和学习路线的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Virtualbox centos虚拟机
- 下一篇: 解决:Tomcat启动提示At leas