學習大數據需要具備怎樣的編程能力?
我是LakeShen,專注大數據技術、互聯網科技見解、程序員經驗分享。
作為一名軟件開發工程師,我現在從事的就是大數據方向。結合我當年校招找工作的經歷,個人認為,大數據中不同崗位對于編程能力的要求是不一樣的,如果你選擇的是大數據平臺開發或者大數據基礎組件開發,這兩種崗位會對你的編程能力有一定的要求,如果你選擇數據研發(ETL)、大數據分析師(BI)、大數據運維這三種崗位,那么你的代碼編程能力就不是那么重要(代碼編程能力不是你應聘的硬性條件),更多的是考查你對于數據方面的理解,對于業務和數據中潛藏數據價值的分析,下面我來具體分析大數據需要具備怎樣的編程能力。
如果你選擇大數據平臺開發,首先第一點,你需要掌握一門編程語言,比如Java語言。對于Java語言的基礎語法、集合底層原理源碼的實現、Java多線程、Java虛擬機等等,如果你希望能夠進入到大廠的話,這些知識點你都必須掌握的非常牢固。對于大數據平臺開發同學,其工作主要使用Java語言編寫用戶使用的大數據平臺,用到的后端技術主要是Spring Boot。你也需要學習Spring和Spring Boot相關技術、Mybatis、Json使用等等。Spring技術中最基礎的技術,AOP(面向切面編程)和IOC(控制反轉)。
如果你大數據組件開發,由于大數據很多組件都是使用Java進行編寫,你最好也能夠有一門自己擅長的語言,同時,由于你是對大數據組件進行開發,你必須對你所選擇的大數據組件的原理和源碼要有很深的理解,比如你選擇Hadoop,你需要了解到Hadoop 的MapReduce原理、HDFS上傳數據和下載數據的流程原理、Yarn是如何管理資源的等等。你也需要有一定的大數據組件運維能力,因為你需要保證線上大數據組件的穩定性。
ETL同學、數據分析同學(BI)、大數據運維同學對于代碼編程能力的要求沒有那么高,ETL同學在應聘的時候,更多的是考查你的SQL語言的使用以及數據倉庫方面的理論知識,對業務數據的建模思想。數據分析同學,需要考查你對于數據中隱藏價值的洞察力,同時你的PPT能力也是你的加分項,所以對于數據分析同學,并不是只有計算機專業的同學才能選擇,有很多其他專業的同學也可以選擇大數據分析。大數據運維同學,可能更多的是考查你Linux命令的使用,你對Linux系統的理解、相關Shell腳本的編寫等等,因為現在互聯網企業幾乎都將服務器安裝在Linux系統,你以后做的也主要是對這些機器穩定性運維,所以你需要對Linux系統有很深的理解。
總結總體來說,對于大數據不同的崗位,其對于代碼編程能力的要求是不一樣的,你可以結合你自己的個人興趣以及以后的職業發展,來選擇適合自己的職業。當然,如果你有時間可以鍛煉自己的代碼編程能力的話,這對你以后的工作或多或少會有一定的幫助,沒準在以后的那一天,你就用上了你的這門技能。
如果我的回答對你有一定幫助的話,希望你能點贊轉發或者關注我,你的小小的鼓勵,就是我持續分享的動力,感謝。