在技術(shù)論壇中或知乎上,看到近幾萬的朋友都在疑惑,學(xué)習(xí)Java應(yīng)該選擇什么發(fā)展方向,這個咱們在之前的文章中有提到過,Java發(fā)展在領(lǐng)域上有三個選擇方向:
JavaEE,主要應(yīng)用于企業(yè)級應(yīng)用開發(fā);安卓開發(fā)方向;嵌入式應(yīng)用開發(fā)方向。在此建議大家選擇JavaEE方向,因?yàn)閼?yīng)用非常廣泛,崗位設(shè)置也比較多。
但我們從來沒有討論過學(xué)習(xí)Java,難道這輩子就只能做Java后端開發(fā)嗎?只能在這條路上奮斗到底嗎?難道中途沒有其他的選擇嗎?
偶然認(rèn)識的一個朋友,最開始是從事Java后端開發(fā)的,后來他在業(yè)余時間自學(xué)成功轉(zhuǎn)入大數(shù)據(jù)行業(yè),現(xiàn)在是一名大數(shù)據(jù)工程師,待遇也比之前好更多。前提是他是一名Java后端開發(fā)。
大數(shù)據(jù)是我們?nèi)缃癖容^火的一個發(fā)展方向,但是很多培訓(xùn)機(jī)構(gòu)有提到幾個月速成的,小編覺得不是特別靠譜。
原因有以下:
大數(shù)據(jù)是一個新生行業(yè),還不太成熟。
Java發(fā)展了將近20年,也沒有說幾個月速成的,最多也就是帶你入門,讓你對Java的知識結(jié)構(gòu)體系有一個清晰的認(rèn)知,在后期的工作實(shí)踐期間成長的速度更快。
大數(shù)據(jù)的起點(diǎn)要高,并不是所謂的零基礎(chǔ)就可以入門的。
我們接下來講述的有關(guān)大數(shù)據(jù)的學(xué)習(xí)是有條件限制的,首先你需要是一名普通的工程師,如果你是Java工程師的話更好,但如果你是小白的話,那就只能成為一名工程師的后再來學(xué)習(xí)大數(shù)據(jù)吧。
一、認(rèn)識大數(shù)據(jù)
大數(shù)據(jù)本質(zhì)其實(shí)也是數(shù)據(jù),不過也包括了些新的特征,
數(shù)據(jù)來源廣;
數(shù)據(jù)格式多樣化(結(jié)構(gòu)化數(shù)據(jù)、非結(jié)構(gòu)化數(shù)據(jù)、Excel文件等);
數(shù)據(jù)量大(最少也是TB級別的、甚至可能是PB級別);
數(shù)據(jù)增長速度快。
而針對以上新的特征需要考慮很多問題:
例如,數(shù)據(jù)來源廣,該如何采集匯總?采集匯總之后,又該存儲呢?數(shù)據(jù)存儲之后,該如何通過運(yùn)算轉(zhuǎn)化成自己想要的結(jié)果呢?
對于這些問題,我們需要有相對應(yīng)的知識解決。
二、大數(shù)據(jù)所需技能要求
Python語言:編寫一些腳本時會用到。
Scala語言:編寫Spark程序的最佳語言,當(dāng)然也可以選擇用Python。
Ozzie,azkaban:定時任務(wù)調(diào)度的工具。
Hue,Zepplin:圖形化任務(wù)執(zhí)行管理,結(jié)果查看工具。
Allluxio,Kylin等:通過對存儲的數(shù)據(jù)進(jìn)行預(yù)處理,加快運(yùn)算速度的工具。
必須掌握的技能:
Java高級(虛擬機(jī)、并發(fā))、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條:
機(jī)器學(xué)習(xí)算法以及mahout庫加MLlib、 R語言、Lambda 架構(gòu)、Kappa架構(gòu)、Kylin、Alluxio
三、學(xué)習(xí)規(guī)劃
每天需要有3個小時的學(xué)習(xí)時間,周末的時候需要10小時,如果做不到的話,只能是
第一階段(基礎(chǔ)階段)
Linux學(xué)習(xí)
Linux操作系統(tǒng)介紹與安裝、Linux常用命令、Linux常用軟件安裝、Linux網(wǎng)絡(luò)、 防火墻、Shell編程等。
Java 高級學(xué)習(xí)(《深入理解Java虛擬機(jī)》、《Java高并發(fā)實(shí)戰(zhàn)》)
掌握多線程、掌握并發(fā)包下的隊(duì)列、掌握J(rèn)VM技術(shù)、掌握反射和動態(tài)代理、了解JMS。
Zookeeper學(xué)習(xí)
Zookeeper分布式協(xié)調(diào)服務(wù)介紹、Zookeeper集群的安裝部署、Zookeeper數(shù)據(jù)結(jié)構(gòu)、命令。
第二階段(攻堅(jiān)階段)
Hadoop、Hive、HBase、Scala、Spark、Python
第三階段(輔助工具工學(xué)習(xí)階段)
Sqoop、Flume、Oozie、Hue這些工具的學(xué)習(xí)主要在CSDN,51CTO以及官網(wǎng)都可以學(xué)習(xí)。
總結(jié)
在技術(shù)行業(yè)里面,每天都會有新的東西出現(xiàn),需要關(guān)注最新技術(shù)動態(tài),不斷學(xué)習(xí)。任何一般技術(shù)都是先學(xué)習(xí)理論,然后在實(shí)踐中不斷完善理論的過程。
如果你覺得自己看書效率太慢,你可以網(wǎng)上搜集一些課程。
快速學(xué)習(xí)的能力、解決問題的能力、溝通能力在這個行業(yè)是真的非常重要的指標(biāo)。
要善于使用StackOverFlow和Google來幫助你學(xué)習(xí)過程遇到的問題。
視頻課程推薦:可以去萬能的淘寶購買一些視頻課程,你輸入“大數(shù)據(jù)視頻課程”,會出現(xiàn)很多,多購買幾份(100塊以內(nèi)可以搞定),然后選擇一個適合自己的。
以上是我們對大數(shù)據(jù)學(xué)習(xí)的總結(jié),當(dāng)然我們也提到了,并不是說零基礎(chǔ)的就可以直接學(xué)習(xí),需要有編程的基礎(chǔ),要先掌握扎實(shí)的編程基礎(chǔ),在此建議學(xué)習(xí)Java,成為一名工程師的時候,有一定編程經(jīng)驗(yàn),自學(xué)起來也相對比開始要簡單一點(diǎn),然后對大數(shù)據(jù)有興趣或者想要進(jìn)入這個行業(yè)的就可以去學(xué)習(xí)了。
-
工程師
+關(guān)注
關(guān)注
59文章
1603瀏覽量
70977 -
JAVA
+關(guān)注
關(guān)注
20文章
2999瀏覽量
116328 -
大數(shù)據(jù)
+關(guān)注
關(guān)注
64文章
9057瀏覽量
143637
發(fā)布評論請先 登錄
電子工程師看書的四個階段 #電子 #硬件工程師 #電子愛好者 #反轉(zhuǎn) #揚(yáng)興科技
什么是BSP工程師
硬件工程師:這才是真正的大學(xué)生就業(yè)指導(dǎo) #電子 #硬件工程師 #電子愛好者 #晶振 #揚(yáng)興科技
想成為硬件工程師?我教你??!你得先學(xué)會這些...... #硬件工程師 #電子工程師 #電子愛好者 #電子行業(yè)
硬件工程師面試必會:10個核心考點(diǎn)#硬件設(shè)計(jì) #硬件工程師 #電路設(shè)計(jì) #電路設(shè)計(jì)
招鑲?cè)胧?b class='flag-5'>工程師1個,硬件工程師一個,
硬件工程師看了只會找個角落默默哭泣#硬件工程師 #MDD #MDD辰達(dá)半導(dǎo)體 #產(chǎn)品經(jīng)理 #軟件工程師
(仰天長嘯)為什么受傷的總是硬件工程師...#MDD#MDD辰達(dá)半導(dǎo)體 #電子工程師
如何成為一名合格的KaihongOS北向應(yīng)用開發(fā)工程師
如何成為一名嵌入式軟件工程師?
怎樣在三個月內(nèi)成為大數(shù)據(jù)工程師
評論