想入行大數據,面對開發語言和分析軟件時,該如何選擇?

先開門見山的給出結論:在職場中,學習任何一門技術,優先考慮工作需求本身,其次是職業發展所需,最後纔是興趣和好奇驅動。本末顛倒的話,不僅學習效率低下,而且還可能竹籃打水一場空,浪費時間成本。

就拿我自己說事,讀書期間在做「數學建模」時,因爲不是計算機\軟件相關的專業,唯一接觸過的C語言(The C Programming Language)也只懂皮毛,所以每一次比賽爲了去「收集數據、處理數據、分析數據和構建模型」,只能藉助人力、Excel、Matlab和SPSS去操作。

當然,這些工具也足夠去滿足比賽的技能要求了,而且比賽的核心也不在於非要用更高級的編程語言,相反它們只是解決問題的一種形式罷了,關鍵在於要快速上手,要能解決需求痛點。

所以,在這樣的一個情況之下,我並沒有犧牲大量的學習成本,重新去提高C語言的編程能力,甚至是從0到1去學習Java語言。

臨近秋招前,我開始去了解工業上常用的數據開發軟件和開發語言,簡直是琳琅滿目,有Python、R、Eviews、SAS、SPSS、Tableau、水晶易表,一大堆。還有Java、C、C++、Hadoop各種詞彙都浮現於眼前。

那時候就有點不知所措了,完全不知道該學什麼,所以最後都選擇接觸了一遍,但結果真的是白費努力,浪費時間。

後面實習入職了一家互聯網電商平臺,部署了6~7個節點的分佈式集羣去做大數據計算,當時還以爲自己終於能玩「大數據」了,可沒想到最後用的最多的卻是SQL\HQL、Excel、PPT、SPSS。而且它們已經足夠解決日常的工作需求了。

所以說,學習任何一門技術,最好能在實際工作中有所使用,畢竟你的工作時間限制了你的學習精力,否則你很難去達到熟練的程度,更別提深入專研。

但不管如何,從行業的發展趨勢上,很多新技能是必須要學習和掌握的,如果工作中真的沒有機會去接觸和使用的話,那就只能換一個更合適的平臺。

當初我就是這樣去考慮的,畢竟「大數據」的熱潮已經全面鋪開了,再不抓緊就只有看夕陽西下了。

所以,在後面幾年的工作經歷中,我都是在接觸Hadoop、Spark相關的開源軟件,從0到1的去學過Python、Java、Hive、MapReduce(基於Java實現)、Shell 、Scala、Spark Streaming這些技能。

但是不管如何,這一切的新知識學習都是爲了去適應工作環境,爲了更快捷和更高效去解決工作需求的問題。同時因爲工作中常常接觸到,所以才能熟練起來,也纔有機會去深入思考更底層的問題。

總而言之,我認爲任何技術都是爲了更好的服務於業務,業務是驅動技術發展的關鍵因素。

當然,從行業趨勢上,我也打算在後期引入深度學習的計算框架,也會去考慮高併發的計算效率優化等等,但是迴歸本質都是爲了提升業務模型的效果,解決更多業務需求痛點。

因此,要想去學習新技能,引入新技術,大前提是現有的業務需求已經得到有所解決,而且能夠得到業務的支持和信任,這樣在後期技術的推進上纔能有時間去摸索,有機會去嘗試。否則,你同樣只能學個皮毛。

好了,講述完了我自己,最後來談談大多數朋友的局面,這也是大家所關心的。

① 首先,作爲數據小白,應該先學習什麼數據技能?

毫無疑問,這時候你需要先把「入門」作爲首要目標,不要過於浮躁,優先考慮去學習SQL、Excel、SPSS、PPT,這樣你纔有機會進入一個平臺,能夠接觸數據,開始數據分析,嘗試撰寫報告。利用好這個跳板,你才能向「成長」進階。

② 其次,作爲業務人員(含分析師、產品經理),應該學習什麼數據技能?

這時候你需要去進一步提高自己的專業技能,這樣纔有機會去更瞭解數據,如果你對大數據開發感興趣,想系統學習大數據的話,可以加入大數據技術學習交流扣扣羣:522+數字189+數字307,歡迎添加,私信管理員,瞭解課程介紹,獲取學習資源。訓練數據感,寫出更有深度的分析報告,甚至是以後的轉崗。所以你需要一把利劍,我會優先推薦Python,節省以後學習其他語言(Java、Scala)的時間成本。

③ 另外,作爲數據開發,應該先學習什麼數據技能?

我的建議是,你先去做好一個Java工程師,掌握一定的專業技能,再來考慮從事大數據開發呢。

當然,這樣的時間成本或許挺高,而且現階段開源這套技術框架基本穩定和易上手了。

④ 最後,作爲數據挖掘,應該先學習什麼數據技能?

數據挖掘這個崗位,嚴格上區別於算法工程師,前者是一個偏業務、重數據、看實踐的崗位,通俗易懂就是在探索海量數據中的經濟價值。

所以,大部分數據挖掘工程師,首當其衝的痛點是需要思考一個問題:如何將以往熟練的這套技術和流程與「大數據」和「業務」相結合。

別想着利用Python\R去直連生產環境的數據做分析,很多平臺都有堡壘機,也不允許本地環境與生產環境的直接交互。即使你load到了線上數據,但是隻憑藉DataFrame這樣的操作,我認爲很難去分析出什麼數據價值,更別提能不能單機運算的效率。

所以,做數據挖掘工作時,除了思考模型的效果提升,也要考慮清楚自己的模型後期將如何去與線上業務結合,以及它的計算效率和自動化工作。

因此,我建議優先去考慮一下分佈式集羣的計算方式,如果平臺缺乏團隊和資金的話,要麼考慮單獨增加本機的計算資源和優化模型的計算效率,要麼考慮換一個工作環境。

最後,對於大部分數據挖掘工程師來說,一定要加強SQL、Excel的使用,這是最基本,也是最重要的。

所講的這些,是爲了讓大家正確的做數據。學習這些技能,是爲了讓大家輕鬆的做數據。歸根到底,都是爲了提高核心競爭力,花最短的時間,輸出最大的價值,讓自己更值錢!

發佈了108 篇原創文章 · 獲贊 11 · 訪問量 2426
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章