大數據開發,並不單單只是一兩個組件的簡單堆砌,而是須要按照實際的數據量、數據種類以及實際業務的須要進行大量的調優和二次開發,構成一個有機的總體,這樣才能保證大數據平臺的正常高效的運行。java
一. 如下是一個大數據平臺的基本組成圖:python
1. 硬件環境:linux
1) X86架構廉價服務器集羣:hadoop技術棧是架構在這種服務器上的,因此價格低,橫向可擴展性強。算法
2) GPU服務器集羣:若是須要用到機器學習算法,可能使用GPU服務器集羣。安全
2. ETL:對各類類型的數據採集與清洗,跟據不一樣的數據類型選擇不一樣的組件或者數據採集方法,好比用Python編寫採集或清洗數據。服務器
3. 數據存儲:將採集清洗或處理好的數據存儲在大數據存儲器中。架構
4. 數據計算:運維
1) 實時計算:對億條流數據實時進行計算。好比志管理、消息隊列等。機器學習
2) 離線計算:對海量數據進行計算,特色是:數據量巨大,維度多。oop
5. 數據分析:對處理好的數據進行交互式分析,主要是用SQL語言進行數據的分析。
6. 資源管理:對資源進行調度和管理,其中包括:內存、CPU、存儲等資源。
7. 數據管理:對數據進行安全、質量、權限等的管理以及工做流的管理和元數據治理。
8. 運維監控:對hadoop集羣、生態圈組件進行運維、管理和監控。
二.大數據開發應具有的基本技能: