經常有小伙伴和我咨詢大數據怎麼學,我覺得有必要寫一下關於大數據開發的具體方向,下次就不用苦哈哈的打字回覆了。直接回覆文章。 1.大數據崗位劃分 我們通常說的大數據開發主要分為三大方向: 1.1數據平臺開發工程師 主要從事後端開發,結合Hadoop,flink,spark等做二次開發,基於底層框架開發 ...
經常有小伙伴和我咨詢大數據怎麼學,我覺得有必要寫一下關於大數據開發的具體方向,下次就不用苦哈哈的打字回覆了。直接回覆文章。
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資料庫
數據分析領域的技術應用
- 數據湖
數據湖完整解決方案
- 數據治理知識體系
數據治理相關知識。
以上,本期全部內容。
感謝閱讀。
按例,歡迎點擊此處關註我的個人公眾號,交流更多知識。