爲何須要大數據開發平臺?git
微店在16年4月份以前,數據開發流程基本是這樣的:架構
開發人員經過公共帳號登陸安裝了Hive、Hadoop客戶端的gateway機器;編寫本身的腳本,調試代碼,完成後經過crontab配置腳本定時執行;爲了防止腳本被其餘同事修改,一些謹慎的同事會在每次開發完本身的腳本後同步一份到本機,後面爲了實現版本控制,把腳本同步到了git;這存在諸多問題:如:效率低下;腳本或代碼沒有版本控制,開發人員想回滾到之前的版本很不方便等。爲此,開發一個大數據開發平臺,提升大數據開發的效率,爲線上天天調度的任務保駕護航已迫在眉睫。運維
大數據開發平臺創建在HDFS、YARN、HiveMeta的基礎服務之上,目前支持經過Hive、Kylin查找數據,後面全部的數據查詢入口將都集成在這裏,包括:ES、Redis、Hades等,大數據平臺目前支持Shell、Hive、MR、Spark四種任務類型。oop
大數據平臺從數據層面來講,包括數據自己和元數據;從業務層面來講,在數據中心(數據倉庫)的基礎上,支撐數據分析、數據挖掘,提升其分析、挖掘效率;從管理角度來講,爲了提高開發效率,須要利用好組件管理平臺,對元數據進行管理,打造數據開發運維平臺。性能
在此基礎上,一個完善的大數據架構,至少包括三個方面:大數據
1,開發組件管理平臺:用於搭建和管理大數據開發組件,如etl、hdfs、hbase、presto、kerbose等;spa
2,數據資產(元數據)管理平臺:元數據採集、元數據管理、血緣分析、數據質量、數據標準、數據指標、數據生命週期管理等。架構設計
3,開發運維平臺:數據脫敏、權限管理、調度管理、開發管理、發佈管理、運維監控與預警等等。設計
遺留問題:版本控制
檢測未跑任務。master掛掉或部署過程當中的定時任務不會被觸發,須要有機制發現這種任務。從新部署後,正在運行的任務會從新跑。正在運行的任務會被master取消掉,從新分配執行,若是任務執行須要較長的時間,這樣作就是沒法接受的。檢測數據質量。目前輸出表僅簡單的檢測了數據浮動(即數據大小),對於表中的數據內容須要進一步檢測,以保證數據產出的合法性。
後續發展方向
資源帳單。規範用戶Hadoop資源使用。數據地圖。方便用戶找數據。血緣關係。方便用戶追溯數據來源。數據流動。方便數據互通。
所以,我認爲大數據架構設計須要兼顧不一樣需求,根據不一樣的數據分析、數據挖掘場景,在資源限制與性能要求下,提供不一樣的平臺方案。對於大數據架構師,不只要熟悉各類組件的使用及其適用場景,還須要熟悉組件管理、元數據管理、開發運維管理等。其搭建的平臺,可否提升數據分析效率,可否提升數據挖掘的效率,可否保證數據質量,可否打通整個數據鏈條等。
文章來源:
https://mp.weixin.qq.com/s?__biz=MzIzMDEyNzM4NQ==&mid=2650956332&idx=1&sn=9fe0952942de8f96d9a1d12f66dcd462&chksm=f34ee05ac439694cb02b8e389f35e201aafea966f51c3a594dacdd29a4d22cde32954bd5bfc4&scene=21#wechat_redirect