作為一名大數據方向的研究生導師,我來回答一下這個問題。
從大數據的技術體系來看,主要涉及到三大方面的內容,其一是大數據平臺;其二是大數據開發;其三是大數據分析,對于具有Java編程基礎的人來說,學習大數據會相對容易一些,但是依然需要一個系統的學習過程,具體需要多長的學習時間取決于自身的學習計劃、學習環境等因素。
大數據的技術體系目前已經趨于成熟,而且大數據涉及到的知識量也比較龐大,所以應該找一個切入點并制定一個適合自己的學習計劃,學習計劃的制定可以按照就業崗位的要求為參考。如果具備Java基礎,且同時有較為扎實的數學基礎,可以考慮從事大數據開發崗位和大數據分析崗位(算法崗),目前大數據研發崗位和算法崗位往往對于學歷有一定的要求(應聘時),這一點應該引起注意。從2019年的研究生秋招情況來看,目前大數據開發崗位的數量比較多,算法崗位的數量還是比較少的。
對于大數據的初學者來說,從大數據應用開發開始學起是不錯的選擇,具體可以按照三個步驟來學習,首先是學習大數據平臺知識,掌握大數據平臺的搭建以及各個組件之間的關系和作用,這個過程需要4周左右的時間,建議從開源大數據平臺(Hadoop、Spark)開始學起,這樣會掌握更多的細節。
其次是在大數據平臺下進行大數據應用開發,這個過程會掌握一些常用的API,此時應該完成大量的實驗,通過實驗來積累一定的大數據開發經驗。在組織實驗的過程中要考慮逐漸遞進的過程,要有一個清晰的實驗體系,此時不必追求大而全。具有Java基礎的前提下,這部分大概需要8至10周左右的時間。
最后是參加一個大數據實習崗位,通過實習崗位的鍛煉不僅能夠進一步豐富大數據開發知識,同時也能夠積累一部分行業經驗。由于大數據開發對于場景的要求比較高,所以學習大數據并不建議完全自學,在掌握了一定的大數據開發知識之后,應該盡快在實際場景下邊實踐邊學習。