當前位置:
首頁 > 最新 > 從0到1,成為大數據行業領袖

從0到1,成為大數據行業領袖

目前最火的大數據,很多人想往大數據方向發展,想問該學哪些技術,學習路線是什麼樣的,覺得大數據很火,就業很好,薪資很高。如果自己很迷茫,為了這些原因想往大數據方向發展,也可以,那麼我就想問一下,你的專業是什麼,對於計算機/軟體,你的興趣是什麼?是計算機專業,對操作系統、硬體、網路、伺服器感興趣?是軟體專業,對軟體開發、編程、寫代碼感興趣?還是數學、統計學專業,對數據和數字特別感興趣。

其實這就是想告訴你的大數據的三個發展方向,平台搭建/優化/運維/監控、大數據開發/ 設計/ 架構、數據分析/挖掘。請不要問我哪個容易,哪個前景好,哪個錢多。

先扯一下大數據的4V特徵:

數據量大,TB->PB

數據類型繁多,結構化、非結構化文本、日誌、視頻、圖片、地理位置等;

商業價值高,但是這種價值需要在海量數據之上,通過數據分析與機器學習更快速的挖掘出來;

處理時效性高,海量數據的處理需求不再局限在離線計算當中。

現如今,正式為了應對大數據的這幾個特點,開源的大數據框架越來越多,越來越強,先列舉一些常見的:

文件存儲:Hadoop HDFS、Tachyon、KFS

離線計算:Hadoop MapReduce、Spark

流式、實時計算:Storm、Spark Streaming、S4、Heron

K-V、NOSQL資料庫:HBase、Redis、MongoDB

資源管理:YARN、Mesos

日誌收集:Flume、Scribe、Logstash、Kibana

消息系統:Kafka、StormMQ、ZeroMQ、RabbitMQ

查詢分析:Hive、Impala、Pig、Presto、Phoenix、SparkSQL、Drill、Flink、Kylin、Druid

分散式協調服務:Zookeeper

集群管理與監控:Ambari、Ganglia、Nagios、Cloudera Manager

數據挖掘、機器學習:Mahout、Spark MLLib

數據同步:Sqoop

任務調度:Oozie

眼花了吧,上面的有30多種吧,別說精通了,全部都會使用的,估計也沒幾個。就我個人而言,主要經驗是在第二個方向(開發/設計/架構),且聽聽我的建議吧,有安裝教程。

初識Hadoop

1.1 學會百度與Google

不論遇到什麼問題,先試試搜索並自己解決。Google首選,翻不過去的,就用百度吧。

1.2 參考資料首選官方文檔

特別是對於入門來說,官方文檔永遠是首選文檔。相信搞這塊的大多是文化人,英文湊合就行,實在看不下去的,請參考第一步。

1.3 先讓Hadoop跑起來

Hadoop可以算是大數據存儲和計算的開山鼻祖,現在大多開源的大數據框架都依賴Hadoop或者與它能很好的兼容。

關於Hadoop,你至少需要搞清楚以下是什麼:

Hadoop 1.0、Hadoop 2.0

MapReduce、HDFS

NameNode、DataNode

JobTracker、TaskTracker

Yarn、ResourceManager、NodeManager

自己搭建Hadoop,請使用第一步和第二步,能讓它跑起來就行。建議先使用安裝包命令行安裝,不要使用管理工具安裝。另外:Hadoop1.0知道它就行了,現在都用Hadoop 2.0.

1.4 試試使用Hadoop

HDFS目錄操作命令;上傳、下載文件命令;提交運行MapReduce示常式序;打開Hadoop WEB界面,查看Job運行狀態,查看Job運行日誌。知道Hadoop的系統日誌在哪裡。

1.5 你該了解它們的原理了

MapReduce:如何分而治之;HDFS:數據到底在哪裡,什麼是副本;

Yarn到底是什麼,它能幹什麼;NameNode到底在幹些什麼;Resource Manager到底在幹些什麼;

1.6 自己寫一個MapReduce程序

請仿照WordCount例子,自己寫一個(照抄也行)WordCount程序,

打包並提交到Hadoop運行。你不會Java?Shell、Python都可以,有個東西叫Hadoop Streaming。如果你認真完成了以上幾步,恭喜你,你的一隻腳已經進來了。

大數據方向的工作目前分為三個主要方向:

01.大數據工程師

02.數據分析師

03.大數據科學家

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

總結如下:

必須技能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

二、學習路徑

由於本人是從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.至於書籍噹噹一搜會有很多,其實內容都差不多。

最後但卻很重要一點:要多關注技術動向,持續學習。


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Java高級架構 的精彩文章:

大型高並發與高可用的三層緩存架構總結

TAG:Java高級架構 |