經常有小夥伴和我諮詢大資料怎麼學,我覺得有必要寫一下關於大資料開發的具體方向,下次就不用苦哈哈的打字回覆了。直接回覆文章。
1.大資料崗位劃分
我們通常說的大資料開發主要分為三大方向:
1.1資料平臺開發工程師
主要從事後端開發,結合Hadoop,flink,spark等做二次開發,基於底層框架開發自己公司定製化的大資料產品,保障公司大資料技術平臺的功能完整性和可用性,側重Java等程式語言的後端開發能力以及對框架的瞭解。
1.2資料倉儲工程師
主要從事資料建模,資料質量建設,資料治理,構建業務體系需要的資料等工作。側重對數倉資料流轉過程的理解以及SQL能力,還有使用程式語言處理資料的能力。例如java,scala,python,R等。
需要工程師對大資料生態各種元件有更多的瞭解和使用經驗,尤其對資料倉儲元件要有使用調優的能力。
1.3資料分析工程師
基於業務做一些資料分析以及資料探勘的工具,技術要求是重度SQL使用者,Python各種分析庫的使用,設定還需要具備資料探勘能力。統計學相關的知識對該崗位有很大幫助。
要求工程師具備資料分析,理解資料價值的能力。
2.對應需要具備的能力
理解了大資料開發的三條鏈路,我們再來理解作為一個大資料行業的開發人員,我們要具備什麼能力。
2.1資料平臺開發工程師
資料平臺開發工程師該崗更像是一個完全的後端開發,只不過技術領域範圍更偏向於大資料領域的開發元件一些。完全可以按後端工程師的技術鏈路進行學習和提升自己。
2.2資料倉儲工程師
資料倉儲工程師是一個核心。在這塊不同公司對數倉有著不同的要求。但整體彙總下來,無非以下幾個方面。
- 對整個資料流轉鏈路有這深刻的認知,並且具有完善的資料建模理論體系知識。
- 優秀的資料處理能力,包括但不限於Hadoop生態,Spark生態,Flink生態的資料處理和最佳化能力。
- 具備良好的技術選型能力,包括從資料整合,資料儲存,資料計算,到資料應用側的元件技術選型。
- 具備資料治理能力,對資料鏈路的資料質量以及資料風險等有全面認知,能夠提出並執行資料治理方案,保障公司的資料質量和資料成本及資料安全等。
如果以上四個方面,都自認為已經達到了不錯的能力,那麼作為個人來說,可能就已經是一個合格的高階資料倉儲工程師了。
2.3資料分析工程師
針對資料分析工程師的要求,更像是對一個完全業務人員的要求,甚至有些企業會將該崗位進一步細分為商業資料分析師(商分)和資料產品經理(資料產品)來進行更詳細的差異化要求。
資料分析工程師概括性的應該具備以下幾個方面的能力。
- 良好的資料分析工具使用能力,一般指各種SQL以及Python等。
- 豐富的資料分析方法和演算法理論知識,一般指統計學上的各種理論知識。
- 業務敏感,業務資料需求理解和良好溝通。
- 具有分析報告撰寫和提出解決方案的能力。
- 具備一定的資料探勘能力,能夠支援更進一步的資料分析和資料預測。
以上五個方面層層遞增,同樣,如果滿足該五個方面的能力,那麼對個人來說,已經是一個合格的高階資料分析工程師了。
整體來說,技術屬性這三個崗位是逐層遞減的,入門難度也是逐層遞減的。
但是在高階開發的層面又不分你我了。
以上為整個大資料類崗位發展詳細解釋。大資料運維崗,那又是另一個故事了。
3.大資料技術體系
整個大資料技術體系又分為哪些部分呢?
3.1按功能劃分
- 離線大資料體系
離線資料開發過程中的技術,元件以及理論體系
- 實時大資料體系
實時資料開發過程中的技術,元件以及理論體系
- 常見OLAP資料庫
資料分析領域的技術應用
- 資料湖
資料湖完整解決方案
3.2按技術體系劃分
- Java基礎,併發及虛擬機器
理解這部分是因為大資料很多元件都是和java密不可分的,報錯資訊裡充滿了Java的相關知識。
- 大資料元件部分(離線+實時)
大資料體系的元件Hadoop,Hive,Hbase,Kafka,Spark,Flink等的應用,最佳化,理論,底層原碼等等。
- 離線數倉和實時數倉建設
離線數倉和實時數倉理論,建模經驗,最佳化方案
- 排程系統,OneData理論
構建完整的排程體系,資料一體化理論。
- 常見的OLAP資料庫
資料分析領域的技術應用
- 資料湖
資料湖完整解決方案
- 資料治理知識體系
資料治理相關知識。
以上,本期全部內容。
感謝閱讀。
按例,歡迎點選此處關注我的個人公眾號,交流更多知識。