1. 程式人生 > >我的程式設計師之路02:大資料實習篇

我的程式設計師之路02:大資料實習篇

實習一年,我從Java入門者成為了一名大資料開發。 ## 第一份實習offer 專升本的第一學年末,憑藉著自學Java拿到了人生的第一份Java開發的實習offer。我深知那時候我的Java水平有限,也深知能拿到offer並不是因為我多優秀,而是公司一批招了20多個人。 17年7月,收拾好行李,和舍友體驗了一天的找房、打掃、入住流程之後,於第二天的早晨第一次踏入了公司,開發崗的八個人被安排在空閒的工位上等待著新人培訓。培訓主要分為:資料安全培訓、資料庫培訓、Linux培訓等。培訓之前說是有一個人可以進入大資料組實習,所以那時候的我充滿著渴望與熱情,以致於大學裡一年都沒學懂的Linux,自學了三天就把基本的命令練習地滾瓜爛熟。 培訓過後,其他7人被分到了各個組內,陸續離開了這片空閒工位。而我,在接下來一個月一直處於無人認領的狀態,大資料的實習名額也無人再提及。在這段實習期最安逸的日子裡,我決定自學大資料。那時候網上大資料教程不像現在一樣豐富,於是從某寶上花25RMB,買了一套大資料課程開始自學。 自學的過程和預料的一樣一波三折。還記得剛開始跟著視訊搭建Hadoop,卻怎麼也不成功。或是版本問題,或是作業系統問題,也許是個人能力問題。那時候也沒有人指導,只能自己摸索,視訊上20分鐘搭建好的Hadoop,而我用了五天時間蒐集資料、不斷嘗試,最後才在我的虛擬機器上搭建完成。 一個月後某一天,我終於被人領走了,進入大資料組的那個人原來是我! ## 初識大資料 初入大資料組,還記得那時候的心情是小心翼翼的。那時候組裡沒有那麼多的年輕人,感覺都是大佬,也不敢多說話,只能默默地坐在工位上。第一份工作是關於hive的,很簡單。簡單到什麼程度,一份列表和一個hivesql,我只需將列表中的每項貼上到sql的where條件空白處,分別執行並截圖儲存即可。空閒的時候也會被安排各種寫工程文件的工作。 就這樣在理想和現實之間工作了一個月。當我以為實習生涯就要在這種平平淡淡中度過的時候,人生出現了轉機。組裡年輕的運維小哥決定離職,我也被領導叫進了辦公司,在各種雞湯灌輸加持下,我第一次勇敢的說出了”我可以“這三個字,我也開始轉職成為了一名大資料運維。 運維工作就是寫一些監控排程來保障正常生產,有時候也需要人工干預,所以出去玩也要揹著電腦以備不時所需。雖然我的運維工作技術含量不高,但是因為這份工作,與組內同事的工關聯也密切了起來,也開始漸漸融入到這個集體中。 **人生,總會有讓你努力的理由,為了別人,亦或自己。** ## 關於理想和學習 *理想今年你幾歲* 雖然我是一名運維,但始終有著開發的夢想。在下班回到家之後,會繼續看我的課程來學習大資料。在公司的日常,幹完領導安排整理文件的工作就開始學習。工作的時候喜歡聽大佬們討論技術,雖然我一句也聽不懂。所以那時候我給自己的目標就是,一定要聽懂大佬們討論的技術,於是我開始利用早晨公交車上的一個小時開始看公眾號文章,一天要求自己至少看五篇,當某一天回過頭來,發現已經關注了近300個計算機行業的公眾號。 那一年flink還未興起,公司流處理使用的是商業版的IBM Streams,這個平臺帶給我的感覺就是穩定且小眾。它的開發語言是SPL(Stream Processing Language),一種只適用於這個平臺的開發語言,所以導致那時候基本上都沒有人願意接手這個平臺。我在運維這個平臺應用的過程中,開始自學SPL,從最開始研究別人的程式,到後來在官網上寥寥的資料中學習語法,最後開始負責SPL的開發。目前,我是公司唯一一個會SPL開發的人。 科普一個SPL簡單的例子: ``` composite Main { graph