-
1 # 小碼宋
-
2 # 焦慮老爸
其實語言和大資料沒有直接的關係。在我看來,想進入大資料領域,語言只是工具,資料庫、演算法、數學、統計學以及所在行業的專業知識才是功底。至於時間,不好說,我是用了半年(開發從業二十年了,各種資料庫很溜,開發語言會好幾種,垮平臺什麼的更不用說,而且因為學習精算師的緣故已經把基礎課都學完了,包括高數,統計學等)。
建議樓主從java領域的開源大資料專案開始介入,逐步瞭解hadoop,適當的學習一下python,瞭解redis、HDFS,學習使用SparkHive、SparkSQL,同時建議讀一下Data X或者Kettle,然後開始學習一些機器學習的演算法和開源庫如Tensorflow之類的,開發平臺的選擇看你自己的需求。
當以上內容基本融會貫通了,你就可以開始進入大資料領域了,首先要去採集一些有價值的樣本資料,在逐步學習深入的過程中學習機器建模,以及統計學原理,數論,統計方法等傳統統計學的課程,統計建模是重點一定要下功夫,線代微積分離散數學都是基礎,你也需要重新拾起來。
當這些都學的差不多了,你就具備了採集資料分析資料的基本能力了,那樣就可以深入的再學習一下統計學的一些深層次課程和傳統BI的一些課程了。
當你具備了這些能力,你就具備了一個合格的大資料分析師的水平了!
恭喜,高薪在向你招手。
-
3 # IT人劉俊明
作為一名大資料方向的研究生導師,我來回答一下這個問題。
從大資料的技術體系來看,主要涉及到三大方面的內容,其一是大資料平臺;其二是大資料開發;其三是大資料分析,對於具有Java程式設計基礎的人來說,學習大資料會相對容易一些,但是依然需要一個系統的學習過程,具體需要多長的學習時間取決於自身的學習計劃、學習環境等因素。
大資料的技術體系目前已經趨於成熟,而且大資料涉及到的知識量也比較龐大,所以應該找一個切入點並制定一個適合自己的學習計劃,學習計劃的制定可以按照就業崗位的要求為參考。如果具備Java基礎,且同時有較為紮實的數學基礎,可以考慮從事大資料開發崗位和大資料分析崗位(演算法崗),目前大資料研發崗位和演算法崗位往往對於學歷有一定的要求(應聘時),這一點應該引起注意。從2019年的研究生秋招情況來看,目前大資料開發崗位的數量比較多,演算法崗位的數量還是比較少的。
對於大資料的初學者來說,從大資料應用開發開始學起是不錯的選擇,具體可以按照三個步驟來學習,首先是學習大資料平臺知識,掌握大資料平臺的搭建以及各個元件之間的關係和作用,這個過程需要4周左右的時間,建議從開源大資料平臺(Hadoop、Spark)開始學起,這樣會掌握更多的細節。
其次是在大資料平臺下進行大資料應用開發,這個過程會掌握一些常用的API,此時應該完成大量的實驗,透過實驗來積累一定的大資料開發經驗。在組織實驗的過程中要考慮逐漸遞進的過程,要有一個清晰的實驗體系,此時不必追求大而全。具有Java基礎的前提下,這部分大概需要8至10周左右的時間。
最後是參加一個大資料實習崗位,透過實習崗位的鍛鍊不僅能夠進一步豐富大資料開發知識,同時也能夠積累一部分行業經驗。由於大資料開發對於場景的要求比較高,所以學習大資料並不建議完全自學,在掌握了一定的大資料開發知識之後,應該儘快在實際場景下邊實踐邊學習。
回覆列表
這個要看自己的學習進度和自制力,個人建議參加一個培訓機構,系統的學習一下,如果自制力好的話,兩三個月就可以。