對于京東大數(shù)據(jù)平臺來說,數(shù)據(jù)產(chǎn)品并不是一個新鮮事物,2011年自建數(shù)據(jù)倉庫上線的同時,第一款數(shù)據(jù)產(chǎn)品調(diào)度平臺也一同上線并正式投入使用。
調(diào)度平臺
訂單交易,倉儲物流等眾多京東系統(tǒng)都會產(chǎn)生數(shù)據(jù),僅日志內(nèi)容每天的大小約為1TB,大量的數(shù)據(jù)如何統(tǒng)一匯總到數(shù)據(jù)倉庫來呢?這就需要調(diào)度產(chǎn)品來實現(xiàn)數(shù)據(jù)生產(chǎn)。京東調(diào)度平臺發(fā)展至今已經(jīng)是3.0版本,每一次的更新迭代都凝聚著京東大數(shù)據(jù)平臺開發(fā)工程師許許多多個日夜的心血,也是我們技術(shù)突破與功能升級的具體體現(xiàn)。
調(diào)度平臺1.0版本架構(gòu)
1.0版本于2011年8月上線,一臺服務(wù)器作為中心節(jié)點指揮調(diào)度,另外3臺服務(wù)器負責相關(guān)數(shù)據(jù)作業(yè),任務(wù)之間通過后置變量的方式設(shè)定前后依賴關(guān)系,調(diào)度機制便運行起來了。數(shù)據(jù)倉庫建立之初的任務(wù)并不太多,數(shù)據(jù)量沒有太過龐大,數(shù)據(jù)ETL過程所需計算資源也都完全應(yīng)付得來。
但隨著倉庫收納數(shù)據(jù)的增加,數(shù)據(jù)生產(chǎn)任務(wù)越來越多,任務(wù)之間的依賴關(guān)系也變得越來越復(fù)雜。每個BI工程師需要根據(jù)自己的生產(chǎn)任務(wù)設(shè)定后置變量的值以建立任務(wù)依賴關(guān)系,任務(wù)多了之后不但設(shè)置起來耗時費力且不易管理,當一個人的任務(wù)需要重跑時后置變量的修改可能會影響到別人的任務(wù)。
2.0版本上線了新的調(diào)度引擎,徹底解決了這個問題。新任務(wù)上線只需要選擇依賴的父任務(wù)即可建立關(guān)系,且流程獨立,不會因同一個任務(wù)被多個依賴而造成干擾。除此之外,任務(wù)可視化配置與瀏覽功能也在這個版本上線,任務(wù)運行狀態(tài)監(jiān)控預(yù)警功能也投入使用。
這之后的功能升級也一直在進行,較大的功能改進莫過于虛擬節(jié)點了。數(shù)據(jù)生產(chǎn)過程中,盡管幾率很低,但仍然還是會出現(xiàn)一些物理節(jié)點掛掉的情況,而這種情況一旦出現(xiàn),影響將會很嚴重。于是,虛擬節(jié)點的功能應(yīng)運而生,原理就是在原來的物理機集群上做一層虛擬化,如果遇到生產(chǎn)節(jié)點故障的情況自動切換到另一個節(jié)點。同時,根據(jù)不同節(jié)點的負荷,將新的任務(wù)自動分配到負荷較小的節(jié)點,做到負載均衡。這一系列功能的上線使得平臺的穩(wěn)定性大大提高。
3.0版本從功能上更加豐富,并且實現(xiàn)了數(shù)據(jù)生產(chǎn)的半自動化運行機制。所謂的半自動化是指數(shù)據(jù)任務(wù)可在配置目標數(shù)據(jù)庫、表之后自動生成ETL模板并完成數(shù)據(jù)清洗,之后是人工創(chuàng)建調(diào)度任務(wù)完成數(shù)據(jù)生產(chǎn)。另外,自主研發(fā)的抽數(shù)模塊Plumber也在這個版本中上線,Plumber技術(shù)實現(xiàn)了異構(gòu)數(shù)據(jù)庫之間的快速數(shù)據(jù)交換,且具有較高的穩(wěn)定性,數(shù)據(jù)導(dǎo)入導(dǎo)出的維護成本也大大降低。還有服務(wù)器運行狀態(tài)的監(jiān)控系統(tǒng)Phenix也集成到了調(diào)度監(jiān)控中,實時采集服務(wù)器運行狀態(tài)數(shù)據(jù)并對服務(wù)器心跳、存儲空間使用、CPU資源消耗等進行預(yù)警。
對于上游系統(tǒng)故障造成的歷史數(shù)據(jù)補充問題,之前的版本中需要人工查找相關(guān)依賴任務(wù),然后一個一個配置參數(shù)后點擊重跑,而在新的版本中BI工程師們期待已久的一鍵重跑功能上線了,并且支持批量操作。一千多個重跑任務(wù),BI工程師加班到半夜一個一個點鼠標的日子永遠成為了過去。
作為大數(shù)據(jù)平臺的核心系統(tǒng),調(diào)度平臺不僅承擔著數(shù)據(jù)生產(chǎn)的重要使命,同時也負責集市數(shù)據(jù)推送,模型數(shù)據(jù)加工等任務(wù),部門有超過三分之一的人都在圍著它轉(zhuǎn),重要性可想而知。今后的功能升級迭代將在增強生產(chǎn)能力的同時更加注重自動化服務(wù)及開放運營等平臺產(chǎn)品的特性,為大數(shù)據(jù)管理及挖掘大數(shù)據(jù)價值提供可靠保障。
在此我向大家推薦一個大數(shù)據(jù)開發(fā)交流圈:658558542 里面整理了一大份學習資料,全都是些干貨,包括大數(shù)據(jù)技術(shù)入門,大數(shù)據(jù)離線處理、數(shù)據(jù)實時處理、Hadoop 、Spark、Flink、推薦系統(tǒng)算法以及源碼解析等,送給每一位大數(shù)據(jù)小伙伴,讓自學更輕松。這里不止是小白聚集地,還有大牛在線解答!歡迎初學和進階中的小伙伴一起進群學習交流,共同進步!
數(shù)據(jù)集成開發(fā)平臺
數(shù)據(jù)集成開發(fā)平臺是京東大數(shù)據(jù)發(fā)展的一個里程碑產(chǎn)品,它的出現(xiàn)結(jié)束了數(shù)據(jù)分析師和業(yè)務(wù)部門數(shù)據(jù)需求人員通過客戶端工具手工提取數(shù)據(jù)的痛苦經(jīng)歷,并對后來的數(shù)據(jù)知識管理平臺等產(chǎn)品的出現(xiàn)產(chǎn)生直接影響。當前平臺用戶接近1000人,數(shù)據(jù)訂閱任務(wù)總量逾4萬個。
早期版本的數(shù)據(jù)集成開發(fā)平臺就是命名為提數(shù)工具,提數(shù)也是當時寄予這款產(chǎn)品的最重要的期望。相信每一家公司對于數(shù)據(jù)的需求都是“剛需”,快速發(fā)展的京東,流動并且快速流動的數(shù)據(jù)更是像一個人身體里的血液一樣不可或缺。所以數(shù)據(jù)分析師總是最繁忙的,每到月初需要支持財務(wù)經(jīng)營分析的人員提取數(shù)據(jù)時,還要拉上不少工程師共同參與這場提數(shù)大戰(zhàn)。在前后臺數(shù)據(jù)部合并后最瘋狂的日子里,數(shù)據(jù)部還曾出現(xiàn)過“全員提數(shù)”的場景。
在這樣的背景下,數(shù)據(jù)集成開發(fā)平臺的1.0版本誕生了。這是一款查詢數(shù)據(jù)并且支持周期性數(shù)據(jù)訂閱的產(chǎn)品,同時打通了京東私有云服務(wù)Jbox,可以供已授權(quán)人員安全、便捷的查詢和提取數(shù)據(jù),尤其對于需要定期提取大量數(shù)據(jù)做分析的人員(如財務(wù)經(jīng)營分析同事)有很大幫助。
功能上來講,通過Web端在線數(shù)據(jù)查詢和數(shù)據(jù)訂閱是兩大主要功能,同時,SQL編寫界面還支持元數(shù)據(jù)信息的查看,并且可以在線保存編輯中的代碼,這給提數(shù)人員帶來很大便利。底層接入的數(shù)據(jù)庫包括當時存在的SQLServer、MySQL和Hive,SQL語法上根據(jù)不同的數(shù)據(jù)庫類型選擇不同的語法即可,其它執(zhí)行邏輯都是一樣的。
在采用Extjs的前端頁面偶爾存在一些滾動條失靈的小Bug,這給用戶體驗上帶來一定影響。另外,雖然Extjs強大的表單功能成就了集成開發(fā)平臺這樣的富客戶端應(yīng)用,但是其UI風格的局限性也是非常明顯的。隨著后期產(chǎn)品線的豐富,新推出的產(chǎn)品已經(jīng)棄用Extjs,轉(zhuǎn)而采用Bootstrap前端,從2014年7月份,采用新的前端技術(shù),數(shù)據(jù)集成開發(fā)平臺與后期推出的數(shù)據(jù)知識管理及數(shù)據(jù)質(zhì)量監(jiān)控產(chǎn)品融合后統(tǒng)一在一個系統(tǒng)上線。
數(shù)據(jù)知識管理平臺
數(shù)據(jù)知識管理平臺產(chǎn)品的出現(xiàn)是個水到渠成的結(jié)果,在數(shù)據(jù)倉庫模型規(guī)范確定之后,元數(shù)據(jù)信息也有了標準的分類體系。按照標準的分類體系將元數(shù)據(jù)信息分門別類管理起來,同時提供內(nèi)容搜索、類Wiki的編輯維護以及咨詢評論功能,數(shù)據(jù)知識管理平臺就呈現(xiàn)在大家面前了。后期版本升級過程中又提供了維度表的維護功能,給模型開發(fā)維護的同事帶來很大便利。
京東分析師
Apricot(杏子)、Blueberry(藍莓)、Cloudberry(云莓),水果連連看?不,這是報表展現(xiàn)平臺三個版本命名的代號,也是產(chǎn)品域名的首段字符串,首字母分別是ABC也代表了產(chǎn)品演進的過程。當前版本代號為Cloudberry,產(chǎn)品正式名稱為京東分析師,毫無疑問,我們賦予這款產(chǎn)品的除了基本的數(shù)據(jù)可視化能力,還有數(shù)據(jù)分析的能力。
體驗過Tableau的用戶都會被其靈活的控制臺和美妙絕倫的圖表展現(xiàn)所征服。我們所做的就是在Web系統(tǒng)中盡可能的實現(xiàn)Tableau桌面系統(tǒng)所能達到的效果,并且在產(chǎn)品服務(wù)能力上更加強調(diào)自助服務(wù)的智能軟件分析平臺。
技術(shù)架構(gòu)上,京東分析師前端自主開發(fā)可自定義的展現(xiàn)布局,封裝了豐富的圖表展現(xiàn)組件,后端報表配置系統(tǒng)支持MySQL、SQLServer、Oracle、API及Hive等作為數(shù)據(jù)源,并支持在線接入。交互方面,報表收藏、基于圖表的條件過濾、數(shù)據(jù)排序、深度鉆取是其基本功能,自定義報表頁面還提供郵件推送報表的功能,當某個報表數(shù)據(jù)比較重要,系統(tǒng)可通過郵件的形式定期發(fā)送報表供查閱。對于自己權(quán)限范圍內(nèi)可瀏覽的表,系統(tǒng)還可根據(jù)瀏覽記錄將經(jīng)常查看的表排在靠前的位置以提升體驗。
數(shù)據(jù)挖掘平臺
大數(shù)據(jù)的數(shù)據(jù)挖掘與傳統(tǒng)意義上的處理方法存在很大區(qū)別,京東數(shù)據(jù)挖掘平臺產(chǎn)品定位于構(gòu)建一站式的數(shù)據(jù)挖掘算法平臺,在基礎(chǔ)的機器學習算法之上,可根據(jù)具體實際業(yè)務(wù)開發(fā)訂制算法,滿足算法應(yīng)用場景。這一產(chǎn)品主要利用分布式計算,采取適用于機器學習算法的計算模型進行迭代,以解決大數(shù)據(jù)量的算法處理問題。平臺封裝的Cross Validation(交叉檢驗)、Grid Search(網(wǎng)格搜索)等基本數(shù)據(jù)挖掘流程給數(shù)據(jù)挖掘人員提供簡單、易用的挖掘工具。
為減少數(shù)據(jù)實體化的開銷,挖掘平臺采用基于內(nèi)存的存儲引擎,集群資源調(diào)度與管理基于HadoopYarn框架,保證了集群計算性能的高可利用性和高可擴展性。平臺自2014年年中正式推出后,已經(jīng)開始為廣告系統(tǒng)、推薦系統(tǒng)等提供個性化的數(shù)據(jù)挖掘算法服務(wù)。
數(shù)據(jù)質(zhì)量監(jiān)控平臺
數(shù)據(jù)的及時性、準確性和完整性關(guān)系到一系列數(shù)據(jù)應(yīng)用的效果,大數(shù)據(jù)平臺建設(shè)之初便已著手實施數(shù)據(jù)治理的相關(guān)工作,統(tǒng)一數(shù)據(jù)計算口徑,設(shè)置數(shù)據(jù)校驗規(guī)則,以保證數(shù)據(jù)質(zhì)量。數(shù)據(jù)倉庫升級之后,對于數(shù)據(jù)質(zhì)量的關(guān)注程度更高,于是便從產(chǎn)品層面進行管理。從數(shù)據(jù)生產(chǎn)過程來看,數(shù)據(jù)質(zhì)量監(jiān)控平臺的基本功能包括數(shù)據(jù)生產(chǎn)過程中的質(zhì)量檢驗、數(shù)據(jù)入庫后的質(zhì)量評估以及全部生產(chǎn)日志的掃描存檔并生成數(shù)據(jù)質(zhì)量分析報告。
數(shù)據(jù)生產(chǎn)過程中的質(zhì)量監(jiān)控主要對數(shù)據(jù)生產(chǎn)中源表結(jié)構(gòu)的變化、字段信息的一致性進行規(guī)則校驗,并依據(jù)校驗結(jié)果進行質(zhì)量評估,對存在質(zhì)量問題的數(shù)據(jù)將進行自動重跑并通知后續(xù)依賴任務(wù)。入庫之后的數(shù)據(jù)將進行具體到字段粒度的數(shù)據(jù)檢查,可以對枚舉值、字段類型,甚至數(shù)值型字段的最大最小值及均值等進行規(guī)則校驗,以確定數(shù)據(jù)是否在合理的范圍內(nèi)變化。
感謝您的觀看,如有不足之處,歡迎批評指正。 聲明:本文由網(wǎng)站用戶香香發(fā)表,超夢電商平臺僅提供信息存儲服務(wù),版權(quán)歸原作者所有。若發(fā)現(xiàn)本站文章存在版權(quán)問題,如發(fā)現(xiàn)文章、圖片等侵權(quán)行為,請聯(lián)系我們刪除。