天天看點

入行大資料開發的一些經驗

總結了一些經驗送給對大資料行業有興趣的朋友。

☟☟☟

本人以前某五百強進階資料開發工程師一枚五年工作經驗,一年多面試官經驗。面試中經常會遇到這種情況:之前專心寫web的Java碼農突然轉型想做大資料了,然後寫幾個大資料的項目經驗跑來面試,結果就是一問三不知,還有好多人隻是搭了個Hadoop環境就說自己是搞大資料的,然後來面資料開發,結果肯定悲劇。一這篇文章基本上就是一些經驗的彙總。

入行大資料開發的一些經驗

首先,我個人進入大資料行業也純屬偶然,當年實習的時候做的是純純的Java開發,後來正式畢業了以後找了份Java開發的工作,本以為和大多數Java猿一樣天天搞增删改查了,但是巧的是搞好部門有個做大資料開發的離職了,資料開發缺人手,然後上司就讓我頂上了。

剛開始什麼Hadoop,HDFS也是各種不懂,隻會寫hive,因為畢竟有SQL基礎嘛。再後來發現hive實作一些東西很麻煩,就開始學習spark。網上找的例子,從Wordcount入手,邊寫簡單的例子邊看《Hadoop權威指南這本書》,如果你對大資料開發感興趣,想系統學習大資料的話,可以加入大資料技術學習交流扣群:458數字345數字782擷取學習資源不到一周時間就上手寫了一個計算報表資料的作業。後來就不斷深入,過程之中覺得《Hadoop權威指南》這本書每一次讀都有不同的體會,前前後後應該讀了有三四遍吧。

總體感受就是了解了分布式計算的模型,就知道如何寫mapreduce了。但是如何進行作業優化以及資料處理過程中遇到的問題如何解決就需要更深入的研究。

前面提到來面試的有應屆生也有工作幾年的,針對不同的人給一些不同的建議。

1.對應屆生

個人覺得應屆生應該打好基礎,大學大學一般都會開設資料結構,算法基礎,作業系統,編譯原理,計算機網絡等課程。這些課程一定要好好學,基礎紮實了學其他東西問題都不大,而且好多大公司面試都會問這些東西。如果你準備從事IT行業,這些東西對你會很有幫助。

至于學什麼語言,我覺得對大資料行業來說,Java還是比較多。有時間有興趣的話可以學學scala,這個語言寫spark比較棒。

叢集環境一定要搭起來。有條件的話可以搭一個小的分布式叢集,沒條件的可以在自己電腦上裝個虛拟機然後搭一個僞分布式的叢集。一來能幫助你充分認識Hadoop,而來可以在上面做點實際的東西。你所有踩得坑都是你寶貴的财富。

然後就可以試着寫一些資料計算中常見的去重,排序,表關聯等操作。

對于我來說,面試應屆生就問你的基礎,筆試大多是資料結構和算法方面的,如果你基礎不錯而且有一定的大資料方面的經驗,基本上都會過。

2. 對有工作經驗想轉行的

主要考察三個方面,一是基礎,二是學習能力,三是解決問題的能力。

基礎很好考察,給幾道筆試題做完基本上就知道什麼水準了。

學習能力還是非常重要的,畢竟寫Javaweb和寫mapreduce還是不一樣的。大資料處理技術目前都有好多種,而且企業用的時候也不單單使用一種,再一個行業發展比較快,要時刻學習新的東西并用到實踐中。

解決問題的能力在什麼時候都比較重要,資料開發中尤為重要,我們同常會遇到很多資料問題,比如說最後産生的報表資料對不上,一般來說一份最終的資料往往來源于很多原始資料,中間又經過了n多處理。要求你對資料敏感,并能把握問題的本質,追根溯源,在盡可能短的時間裡解決問題。

基礎知識好加強,換工作前兩周複習一下就行。學習能力和解決問題的能力就要在平時的工作中多鍛煉。

繼續閱讀