最近肯定了本身將來職業規劃。。。我要朝着大數據開發工程師努力,看下面的圖譜,還差十萬八千里(雖然不是全部都要會)!不過我不會氣餒!加油!!!java
路線2python
總結以下: 必須技能10條: 01.Java高級(虛擬機、併發) 02.Linux 基本操做 03.Hadoop(此處爲俠義概念單指HDFS+MapReduce+Yarn ) 04.HBase(JavaAPI操做+Phoenix ) 05.Hive(Hql基本操做和原理理解) 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 2、學習路徑 因爲本人是從Java開發經過大概3個月的自學轉到大數據開發的。因此我主要分享一下本身的學習路勁。 第一階段: 01.Linux學習(跟鳥哥學就ok了) 02.Java 高級學習(《深刻理解Java虛擬機》、《Java高併發實戰》) 第二階段: 03.Hadoop (董西成的書) 04.HBase(《HBase權威指南》) 05.Hive(《Hive開發指南》) 06.Scala(《快學Scala》) 07.Spark (《Spark 快速大數據分析》) 08.Python (跟着廖雪峯的博客學習就ok了) 第三階段: 對應技能需求,到網上多蒐集一些資料就ok了, 我把最重要的事情(要學什麼告訴你了), 剩下的就是你去搜集對應的資料學習就ok了 固然若是你以爲本身看書效率太慢,你能夠網上搜集一些課程,跟着課程走也OK 。這個徹底根據本身狀況決定。若是看書效率不高就很網課,相反的話就本身看書。 三,學習資源推薦: 01.Apache 官網 02.Stackoverflow 04.github 03.Cloudra官網 04.Databrick官網 05.過往的記憶(技術博客) 06.CSDN,51CTO 07.至於書籍噹噹一搜會有不少,其實內容都差很少。 做者:告小辭 連接:https://www.jianshu.com/p/1ce414d7ce88 來源:簡書 簡書著做權歸做者全部,任何形式的轉載都請聯繫做者得到受權並註明出處。 一、Linux 大數據集羣主要創建在linux操做系統上,Linux是一套無償使用和自由傳播的類Unix操做系統。而這部分的內容是你們在學習大數據中必需要學習的,只有學好Linux才能在工做中更加的駕輕就熟。 二、Hadoop 我覺的你們聽過大數據就必定會聽過hadoop。Hadoop是一個可以對大量數據進行離線分佈式處理的軟件框架,運算時利用mapreduce對數據進行處理。在大數據中的用途,以及快速搭建一個hadoop的實驗環境,在本過程當中不只將用到前面的Linux知識,並且會對hadoop的架構有深刻的理解,併爲你之後架構大數據項目打下堅實基礎。 三、HDFS系統 HDFS是創建在多臺節點上的分佈式文件系統,用戶能夠經過hdfs命令來操做分佈式文件系統。學習這部份內容是能夠幫助你們詳細剖析HDFS,從知曉原理到開發網盤的項目讓你們打好學習大數據的基礎,大數據之於分佈式,分佈式學習從學習分佈式文件系統(HDFS)開始。 四、Hive Hive是使用sql進行計算的hadoop框架,工做中經常使用到的部分,也是面試的重點,此部分你們將從方方面面來學習Hive的應用,任何細節都將給你們涉及到。 五、Storm實時數據處理 本部分學習事後,你們將全面掌握Storm內部機制和原理,經過大量項目實戰,讓你們擁有完整項目開發思路和架構設計,掌握從數據採集到實時計算到數據存儲再到前臺展現,全部工做一我的搞定!譬如能夠一我的搞定淘寶雙11大屏幕項目!不光從項目的開發的層次去實現,並能夠從架構的層次站在架構師的角度去完成一個項目。 六、spark 大數據開發中最重要的部分!本部份內容的學習主要是涵蓋了Spark生態系統的概述及其編程模型,深刻內核的研究,Spark on Yarn,Spark Streaming流式計算原理與實踐,Spark SQL,Spark的多語言編程以及SparkR的原理和運行。不只面向項目開發人員,甚至對於研究Spark的學員,此部分都是很是有學習指引意義的部分。 七、Docker技術 Docker 是一個開源的應用容器引擎,讓開發者能夠打包他們的應用以及依賴包到一個可移植的容器中,而後發佈到任何流行的 Linux 機器上,也能夠實現虛擬化。容器是徹底使用沙箱機制,相互之間不會有任何接口(相似 iPhone 的 app)。幾乎沒有性能開銷,能夠很容易地在機器和數據中心中運行。重要的是,他們不依賴於任何語言、框架包括系統。 以上知識點爲籠統的總結,具體的學習思路能夠找我獲取!!! 固然除了這些知識點外還包括:redis、zookeeper、scala等等的,總之學習不可能一口吃個胖子。須要不斷的積累總結,找到合適的學習資料和方法
大數據學習路線 java(Java se,javaweb) Linux(shell,高併發架構,lucene,solr) Hadoop(Hadoop,HDFS,Mapreduce,yarn,hive,hbase,sqoop,zookeeper,flume) 機器學習(R,mahout) Storm(Storm,kafka,redis) Spark(scala,spark,spark core,spark sql,spark streaming,spark mllib,spark graphx) Python(python,spark python) 雲計算平臺(docker,kvm,openstack) 名詞解釋 1、Linux lucene: 全文檢索引擎的架構 solr: 基於lucene的全文搜索服務器,實現了可配置、可擴展並對查詢性能進行了優化,而且提供了一個完善的功能管理界面。 2、Hadoop HDFS: 分佈式存儲系統,包含NameNode,DataNode。NameNode:元數據,DataNode。DataNode:存數數據。 yarn: 能夠理解爲MapReduce的協調機制,本質就是Hadoop的處理分析機制,分爲ResourceManager NodeManager。 MapReduce: 軟件框架,編寫程序。 Hive: 數據倉庫 能夠用SQL查詢,能夠運行Map/Reduce程序。用來計算趨勢或者網站日誌,不該用於實時查詢,須要很長時間返回結果。 HBase: 數據庫。很是適合用來作大數據的實時查詢。Facebook用Hbase存儲消息數據並進行消息實時的分析 ZooKeeper: 針對大型分佈式的可靠性協調系統。Hadoop的分佈式同步等靠Zookeeper實現,例如多個NameNode,active standby切換。 Sqoop: 數據庫相互轉移,關係型數據庫和HDFS相互轉移 Mahout: 可擴展的機器學習和數據挖掘庫。用來作推薦挖掘,彙集,分類,頻繁項集挖掘。 Chukwa: 開源收集系統,監視大型分佈式系統,創建在HDFS和Map/Reduce框架之上。顯示、監視、分析結果。 Ambari: 用於配置、管理和監視Hadoop集羣,基於Web,界面友好。 2、Cloudera Cloudera Manager: 管理 監控 診斷 集成 Cloudera CDH:(Cloudera's Distribution,including Apache Hadoop) Cloudera對Hadoop作了相應的改變,發行版本稱爲CDH。 Cloudera Flume: 日誌收集系統,支持在日誌系統中定製各種數據發送方,用來收集數據。 Cloudera Impala: 對存儲在Apache Hadoop的HDFS,HBase的數據提供直接查詢互動的SQL。 Cloudera hue: web管理器,包括hue ui,hui server,hui db。hue提供全部CDH組件的shell界面的接口,能夠在hue編寫mr。 3、機器學習/R R: 用於統計分析、繪圖的語言和操做環境,目前有Hadoop-R mahout: 提供可擴展的機器學習領域經典算法的實現,包括聚類、分類、推薦過濾、頻繁子項挖掘等,且可經過Hadoop擴展到雲中。 4、storm Storm: 分佈式,容錯的實時流式計算系統,能夠用做實時分析,在線機器學習,信息流處理,連續性計算,分佈式RPC,實時處理消息並更新數據庫。 Kafka: 高吞吐量的分佈式發佈訂閱消息系統,能夠處理消費者規模的網站中的全部動做流數據(瀏覽,搜索等)。相對Hadoop的日誌數據和離線分析,能夠實現實時處理。目前經過Hadoop的並行加載機制來統一線上和離線的消息處理 Redis: 由c語言編寫,支持網絡、可基於內存亦可持久化的日誌型、key-value型數據庫。 5、Spark Scala: 一種相似java的徹底面向對象的編程語言。 jblas: 一個快速的線性代數庫(JAVA)。基於BLAS與LAPACK,矩陣計算實際的行業標準,並使用先進的基礎設施等全部的計算程序的ATLAS藝術的實現,使其很是快。 Spark: Spark是在Scala語言中實現的相似於Hadoop MapReduce的通用並行框架,除了Hadoop MapReduce所具備的優勢,但不一樣於MapReduce的是job中間輸出結果能夠保存在內存中,從而不須要讀寫HDFS,所以Spark能更好的適用於數據挖掘與機器學習等須要迭代的MapReduce算法。能夠和Hadoop文件系統並行運做,用過Mesos的第三方集羣框架能夠支持此行爲。 Spark SQL: 做爲Apache Spark大數據框架的一部分,可用於結構化數據處理並能夠執行相似SQL的Spark數據查詢 Spark Streaming: 一種構建在Spark上的實時計算框架,擴展了Spark處理大數據流式數據的能力。 Spark MLlib: MLlib是Spark是經常使用的機器學習算法的實現庫,目前(2014.05)支持二元分類,迴歸,聚類以及協同過濾。同時也包括一個底層的梯度降低優化基礎算法。MLlib以來jblas線性代數庫,jblas自己以來遠程的Fortran程序。 Spark GraphX: GraphX是Spark中用於圖和圖並行計算的API,能夠在Spark之上提供一站式數據解決方案,能夠方便且高效地完成圖計算的一整套流水做業。 Fortran: 最先出現的計算機高級程序設計語言,普遍應用於科學和工程計算領域。 BLAS: 基礎線性代數子程序庫,擁有大量已經編寫好的關於線性代數運算的程序。 LAPACK: 著名的公開軟件,包含了求解科學與工程計算中最多見的數值線性代數問題,如求解線性方程組、線性最小二乘問題、特徵值問題和奇異值問題等。 ATLAS: BLAS線性算法庫的優化版本。 Spark Python: Spark是由scala語言編寫的,可是爲了推廣和兼容,提供了java和python接口。 6、Python Python: 一種面向對象的、解釋型計算機程序設計語言。 7、雲計算平臺 Docker: 開源的應用容器引擎 kvm: (Keyboard Video Mouse) openstack: 開源的雲計算管理平臺項目
1、大數據通用處理平臺 1. Spark 2. Flink 3. Hadoop 2、分佈式存儲 HDFS 3、資源調度 一、Yarn 二、Mesos 4、機器學習工具 Mahout 1. Spark Mlib 2. TensorFlow (Google 系) 3. Amazon Machine Learning 4. DMTK (微軟分佈式機器學習工具) 5、數據分析/數據倉庫(SQL類) 1. Pig 2. Hive 3. kylin 4. Spark SQL, 5. Spark DataFrame 6. Impala 7. Phoenix 8. ELK 8.1 ElasticSearch 8.2Logstash 8.3Kibana 6、消息隊列 1. Kafka(純日誌類,大吞吐量) 2. RocketMQ 3. ZeroMQ 4. ActiveMQ 5. RabbitMQ 7、流式計算 1. Storm/JStorm 2. Spark Streaming 3. Flink 8、日誌收集 Scribe Flume 久、編程語言 1. Java 2. Python 3. R 4. Ruby 5. Scala 10、數據分析挖掘 MATLAB SPSS SAS 11、數據可視化 1. R 2. D3.js 3. ECharts 4. Excle 5. Python 12、機器學習 機器學習基礎 1. 聚類 2. 時間序列 3. 推薦系統 4. 迴歸分析 5. 文本挖掘 6. 決策樹 7. 支持向量機 8. 貝葉斯分類 9. 神經網絡 機器學習工具 1. Mahout 2. Spark Mlib 3. TensorFlow (Google 系) 4. Amazon Machine Learning 5. DMTK (微軟分佈式機器學習工具) 十3、算法 一致性 1. paxos 2. raft 3. gossip 數據結構 1. 棧,隊列,鏈表 2. 散列表 3. 二叉樹,紅黑樹,B樹 4. 圖 經常使用算法 1.排序 插入排序 桶排序 堆排序 2.快速排序 3,最大子數組 4.最長公共子序列 5.最小生成樹 最短路徑 6.矩陣的存儲和運算 十4、雲計算 雲服務 1. SaaS 2. PaaS 3. IaaS 4. Openstack 5. Docker