白皮書作者:趙興申
顧問:鄭昀
出品方:禧云集團-基礎技術中心-大資料與演算法部
資料分析組:譚清勇、王明軍、徐蕊、曹壽波
平臺開發組:劉永飛、李喜延
資料可視化組:陳宣告、董建昌
基礎架構組:崔明黎、邱志偉、陳賞
第一章:數芯大資料平臺
1.1 禧云大資料發展歷程
知名咨詢公司麥肯錫稱:『資料,已經滲透到當今每一個行業和業務職能領域,成為重要的生產因素,人們對海量資料的挖掘和運用,預示著新一波生產率增長和消費盈余浪潮的到來,』良好的資料管理和處理技術,已經成為企業不可或缺的競爭優勢,
禧云集團(以下簡稱禧云)將大資料列為企業發展戰略,始終秉持『資料驅動』的理念,時刻跟隨大資料發展趨勢,經過幾年的探索和發展,逐步構建起集資料管理、開發協作、自助分析、資料開放和運維管控等于一體的數芯大資料平臺,

圖1:數芯大資料平臺
1.2 數芯大資料平臺介紹
數芯大資料平臺建設始終圍繞『開放共享、資料賦能』的理念,為集團、合作伙伴的運營發展提供強有力的支撐和助力,經過多年的實踐,逐步構建了從底層資料采集、資料處理,到資料應用服務以及資料產品的全鏈路、高管控、開放式的大資料體系,圖2所示,是數芯大資料平臺賦能業務全景圖,

圖2:數芯大資料平臺賦能業務全景圖
為覆寫資料處理的整個鏈路環節,數芯大資料平臺建設之初,規劃了資料資產管理、資料開放共享、開發協作調度、資料采集與遷移管理、資料可視化及自助分析、平臺運維管控六大技術領域,分別對應數芯大資料平臺的不同子系統,我們將在下章節中詳細展開,

圖3:數芯六大技術領域
從資料生產效率和對外賦能角度,數芯大資料平臺又可抽象出資料產品體系、平臺支撐體系和資料管理體系三大支撐體系,具體作用如圖4所示:

圖4:數芯三大支撐體系
本文以數芯三大支撐體系為章節,本著相互學習、交流的態度,詳細介紹數芯大資料平臺的建設程序,在當前『一切業務資料化,一切資料業務化』的背景下,資料已經成為企業戰略和在市場競爭中取得優勢的關鍵,因此我們以數芯大資料平臺的資料管理體系開篇,
第二章:資料管理體系
禧云下設資訊、數科、世紀品牌等諸多子公司,每個下屬公司或關聯ISV都獨立運營,專注于解決團餐的某一領域業務問題,如果沒有良好的資料管理體系,很容易造成資料煙囪式生產、資訊孤島等現象,無法為集團決策部門提供全面立體的資料支撐,大大地降低子公司間的協同增幅能力,

圖5:資料管理體系圖
如圖5所示,數芯大資料平臺資料管理體系在資料接入、資料倉庫規劃建設、資料集市方面制定了統一的規范,對接集團各子公司和關聯ISV,可以構建同時面向集團、各業務單元和子公司的資料分析系統,資料湖、資料倉庫和資料集市加上資料接入、資料清洗、資料生產等規范共同組成了資料管理體系,
2.1 資料湖
·資料湖作用
資料湖的定義以及與資料倉庫的區別,目前業內還沒有達成一致的意見,但許多企業已經開始實踐,資料湖在禧云的實踐是作為存盤集團各子公司、ISV各種各樣原始資料的大型倉庫,其中的資料可供存取、處理、分析和傳輸,這樣處理主要有以下兩方面優點:
1. 資料統一存盤,統一規劃,可同時支持集團、各子公司和ISV的資料分析業務;
2. 與上游系統解耦,資料一次接入,多次利用,接入后的資料可用于實時分析和資料倉庫建設等不同用途,減少與上游系統的耦合,
·技術解決方案
禧云資料大多為關系型資料庫和鍵值資料存盤等結構化、半結構化資料,基于資料吞吐性能和查詢分析能力,我們選擇Apache HBase(一個高可靠性、高性能、面向列、可伸縮的分布式資料庫)作為資料湖的技術解決方案,
如圖5所示,上游資料經過自研的資料遷移平臺(第三章:平臺支撐體系部分介紹)會批量或實時寫入資料湖,利用Apache HBase列式存盤的特點,資料遷移平臺解決了上游資料元資料發生變更(例如:增加或洗掉欄位)對資料湖的寫入無感知問題,
·資料存盤規范
為合理利用存盤資源,根據資料的不同特點,對存盤在資料湖中的資料制定了相應的資料存盤規范,例如對交易流水等資料量較大的表,在資料倉庫中做好資料磁區和備份后,利用Apache HBase TTL(資料生存時間)特性,設定相應的生命周期(生命周期默認保存六個月,指從當前時刻開始向前六個月時間內產生的資料),
2.2 資料倉庫
為支撐集團運營發展和決策分析,禧云起建之初構建了完善的資料倉庫體系,我們稱之為離線資料倉庫階段,
隨著市場競爭環境的不斷加劇,企業對資料的時效性要求越來越高,為應對市場變化,從2019年3月份開始規劃實時資料倉庫的建設,到2019年9月份歷時六個月實時資料倉庫結項,中間實時數倉順利支撐了團餐峰值周運營活動,
如圖5所示,現階段資料管理體系中的資料倉庫包含離線資料倉庫和實時資料倉庫兩大部分,
2.2.1 離線資料倉庫
·資料倉庫作用
離線資料倉庫處理T+1(當日產生的資料,下一日才能看到)場景的資料,為企業運營發展提供決策支持,
如圖5所示,離線資料倉庫的資料來源為資料湖,可對接不同子公司的資料,為保證公司間資料相互獨立和權限劃分,禧云離線資料倉庫以公司為主線進行建設,
·技術解決方案
資料倉庫依托數芯大資料平臺完整的大資料生態體系進行構建,資料存盤為HDFS、離線計算框架為Hive、Spark、SparkSQL,采用Yarn作為資源隔離與調度框架,在資料分析處理方面,我們通過開發協作平臺(詳見第三章:平臺支撐體系部分)來完成離線計算任務的提交、作業流調度、運行監控等作業,
·資料存盤規范
這里的資料存盤規范包括資料分層規范和資料命名規范兩種,資料分層是資料倉庫設計中重要的一環,良好的分層設計能夠讓整個資料體系更易理解和使用,三層模型、四層模型是業內比較通用的分層模型,由于資料湖的存在,我們省去了ODS層(操作資料存盤層,存盤原始資料),采用三層模型,為更好的理解和使用資料,我們重新命名了倉庫層級,

表1:資料存盤規范
2.2.2 實時資料倉庫
·資料倉庫作用
實時資料倉庫主要解決資料時效性問題,禧云有許多業務場景需要資料的實時支撐,例如不定期舉行的團餐峰值周活動,峰值周會將目標分拆到每一天,運營人員需要實時把控目標完成情況,及時調整策略,確保目標完成,換句話說實時資料倉庫完成T+0(當日產生的資料,當日看到)場景的資料分析作業,
·技術解決方案
實時數倉內部資料流轉如圖6所示:

圖6:實時數倉技術架構圖
實時資料倉庫的流式計算框架為Apache Flink和Apache Storm,在實時資料倉庫未正式商用前,Apache Storm是主要的流式計算框架,隨著Apache Flink的普及“批流合一”的計算特性,禧云內部Flink已經逐步取代Storm,實時資料流在計算框架里計算匯總后,寫入Kafka訊息佇列,存入基于Druid存盤的資料集市主題域中,關于Druid部分將在資料集市中詳細介紹,
·資料處理規范
實時資料倉庫層級概念體現在實時計算部分,我們大致可以遵循以下規范,即根據計算指標的復雜度,可直接計算完成(復雜度低),也可像離線資料倉庫一樣分層處理,分層之間用訊息佇列橋接,上述規范不強制遵循,但從資料重復利用(每層資料可用于不同用途)、出現問題排查角度考慮,建議分層處理,
2.3 資料集市
資料集市的建設在禧云一直是個痛點,整個集團目前還處于快速成長期,業務發展變化快,階段不同側重點不同,因此相同資料指標的定義在不同階段會發生變化,很難固化成某一緯度的主題資料,再加上資料開發需求多,資料指標缺乏統一的規劃和梳理,經常造成相同資料指標重復開發,不同報表相同指標項資料不一致的現象,給資料使用人員造成了一定的困擾,
為解決上述痛點,我們對資料指標項進行了統一的梳理,發現分類治理可以解決當前問題,我們將資料指標分為活躍指標和穩定指標兩類,具體定義和處理方式如下:

表2:資料集市資料指標定義
在技術解決方案上,我們調研了市面上比較流行的OLAP引擎,從社區活躍度、查詢性能、自身資料特點等方面考慮,我們采用Apache Druid作為資料集市的載體,禧云資料集市已經開始支持運營人員自助分析和可視化,
·資料集市作用
資料集市在不同企業的實踐程序中有的劃分到資料倉庫中,作為資料倉庫的一個層級,有的作為資料倉庫的下游,資料集市中的資料根據特定的業務或主題組織起來,可以被部門或子公司直接使用,
禧云資料集市按照各部門或子公司進行劃分,下屬不同主題,例如:交易主題、用戶主題、營銷主題等,集市資料可以直接用于部門或子公司自助分析,也可以經過資料介面服務封裝后供資料報表平臺、資料可視化平臺和其他平臺使用,其中資料介面服務、資料報表平臺、資料可視化平臺將在《第三章:平臺支撐體系》和《第四章:資料產品體系》部分詳細介紹,
·技術解決方案
技術上,禧云資料集市主要圍繞著Apache Druid來建設,Apache Druid是一個分布式時序資料庫,可滿足以下場景:
- Historical(歷史節點)資料存盤使用HDFS等分布式檔案存盤系統,高可用,支持水平擴容;
- Lambda架構(詳見附錄2),Realtime(實時節點)使用LSM-Tree實作,滿足流資料的即時查詢需求,
- 支持SQL查詢,

圖7:資料集市技術架構圖
從上圖可以看出,資料倉庫生產的資料通過Apache Druid提供的寫入服務進入資料集市,實時資料倉庫的資料,可以支持快速查詢,分析,離線資料倉庫的資料根據具體業務場景,進行冷熱分層處理,經常被使用的資料做到高效查詢,
·資料存盤規范
禧云資料集市目前處于剛起步階段,我們現在僅制定了比較簡單的命名規范,來區分一級部門或子公司、所屬主題和具體使用場景,命名規范如下圖所示:

圖8:資料集市命名規范
2.4 本章小結
資料湖、資料倉庫、資料集市以及相應的管理規范共同構成了禧云的資料管理體系,我們在講述程序中沒有過多介紹資料倉庫和資料集市的概念、模型(星型、雪花、星座等)等約定俗成的東西,而是將重點放在資料流程和技術實作上,主要是想跟大家探討我們在資料體系建設程序中遇到的痛點和如何解決的,拋磚引玉,起到相互促進的作用,
本章內容在講述資料管理體系的基礎上,同時引出了我們的資料生產流程,穩定、高效的生產流程是支撐決策分析的前提條件,為此我們構建了比較完善的平臺支撐體系,
第三章:平臺支撐體系
禧云資料平臺支撐體系旨在提供高效的開發工具,提升資料開發人員作業效率,提供完善的運維、監控能力,保證資料生產的正確性和時效性,平臺支撐體系從資料接入、資料計算、資料服務和資料應用四個層級為資料生產提供全方位的支持和保障,

圖9:數芯大資料平臺技術架構圖
如上圖所示,平臺支撐體系由資料遷移平臺、開發協作平臺、資料質量平臺、資料開放平臺、資料介面服務,以及貫穿資料接入層、計算層和服務層的運維監控平臺六大子系統組成,我們按照上述順序展開每個子系統的具體實作方式,
3.1 資料遷移平臺
資料遷移平臺(代號:移山,以下簡稱移山),是集第三方資料接入、實時資料同步、異構資料源間遷移于一體的一站式解決方案,提供簡潔、易用的影像化界面,完成資料接入、同步或遷移等配置作業,目前移山每日完成千萬級第三方資料接入、億級內部資料遷移和實時資料同步作業,
·產生背景
在移山之前,禧云在資料遷移方面主要面臨以下三個問題:
1. 實時同步:禧云采用阿里開源的Canal(主要用途是基于MySQL資料庫增量日志決議,提供增量資料訂閱和消費)作為資料實時同步組件,下游決議資料庫資料變更事件寫入Kafka訊息佇列,訊息佇列里的資料供實時數倉分析使用或寫入資料湖,上述實作通過腳本的方式配置完成,操作復雜并且容易出錯,
2. 資料遷移:離線數倉分析結果匯出和計算任務封裝在一個Spark計算任務中,資料計算和資料匯出耦合性較高,資料匯出時間過長會出現計算資源不能釋放或計算任務假死等現象,除此之外,缺少統一的異構資料源遷移工具,
3. 第三方資料接入:第三方資料接入主要采用點對點方式,每次對接都需要單獨開發程式,沒有統一的資料標準,資料接入時間周期較長,
·技術實作
為解決上述三個問題,構建一個通用的資料遷移平臺,我們對現有程式重新設計、開發,調研業界開源的異構資料源遷移工具,移山在上述整合的基礎上產生,移山提供以下三種資料遷移服務能力:

圖10:移山技術架構圖
- 資料接入服務
資料接入服務約定JSON格式為統一的資料傳輸格式,支持HTTP請求和FTP檔案采集兩種資料接入能力,資料接入服務通過暴露HTTP請求介面的方式對外提供服務,請求型別根據介面引數不同分為訊息指令和業務資料上報兩種,資料接入流程如下圖所示:

圖11:資料接入服務流程圖
- 資料遷移服務
我們采用阿里開源的DataX(詳見附錄1)作為資料遷移服務組件,DataX配置程序比較復雜,并且只支持命令列方式執行,為降低使用難度,我們將配置程序進行了圖形化處理,采用Python的Flask框架進行封裝,任務執行支持HTTP請求呼叫,資料遷移服務支持定時或指令兩種執行方式,具體作用如下:
定時執行:定時拉取資料湖資料到資料倉庫中或定時執行業務庫間資料遷移作業,
指令執行:接收離線任務計算發送的資料遷移指令,將分析結果資料遷移至資料集市對應存盤中,
依托DataX強大的插件體系,資料遷移服務支持目前主流的RDBMS資料庫、NOSQL資料庫、HDFS大資料存盤之間的資料遷移能力,
- 實時同步服務
禧云各子公司的資料大多以關系型資料庫MySQL為主,目前的實時同步服務只針對MySQL進行同步,資料同步服務采用阿里開源的Canal作為同步組件,業務資料經過Canal寫入Kafka訊息佇列,Kafka中的資料根據需要寫入資料庫或供實時分析使用,

圖12:實時同步服務流程圖
業務系統會產生各種型別的資料,例如訂單資料、日志資料等,而下游資料分析往往只針對某一型別資料,為了不造成存盤等資源浪費,實時同步服務通過對應關系表來管理資料同步,例如,離線資料分析要用到業務庫的訂單表t_order,需要在移山實時同步任務中添加t_order對應關系,上游資料才能同步到資料湖或資料庫中,如圖12所示,同步到資料湖中的資料與上游業務庫資料需要保持最終一致性,資料在Kafka訊息佇列傳輸程序中可能會出現亂序,導致資料最終不一致,我們在實時同步服務中通過比對binary log時間戳和偏移量,結合HBase特性解決上述亂序問題,我們以t_order表資料寫入來解釋亂序的處理程序,
圖13:實時同步亂序處理程序
移山將資料接入、資料遷移和實時同步整合在一個平臺中,開發人員只需要簡單的界面化配置,就可完成上述三種操作,為保障資料遷移的穩定性和可靠性,移山同時具備完善的監控報警和資料分析能力,
3.2 開發協作平臺
開發協作平臺(代號:魔盒,以下簡稱魔盒),是一套幫助資料開發人員完成離線、實時計算任務打包、測驗、資料核驗和發布上線等作業的一套調度和管理系統,魔盒對離線計算任務提供串行、并行等復雜作業流設定,并提供完善的任務運行監控報警體系,
·產生背景
禧云資料分析主要分為實時計算任務和離線計算任務兩種,在魔盒之前,上述兩種任務主要通過在終端服務器上運行命令列方式執行,任務之間的依賴依靠腳本來控制,在任務比較多的情況下,管理起來比較困難,出現問題難以排查,直接影響資料生產,
·技術實作
為保障資料正常生產,提高開發人員作業效率,我們從資源劃分(測驗環境資源、生產環境資源)、任務管理、程式打包上線和運行監控報警等方面重新規劃,開發出了開發協作平臺魔盒,
- 離線計算
離線計算為多種業務場景提供基礎計算能力,針對不再變化的資料進行分析,具有計算資料量大、業務邏輯復雜等特點,禧云離線計算支持Hive、Spark等計算框架,Hive主要用于臨時資料分析,Spark為離線計算任務的主要開發框架,開發人員用Spark或SparkSQL撰寫完分析代碼后,通過魔盒打包上線,測驗、上線流程如下圖所示:

圖14:離線計算任務測驗上線流程
禧云每天運行著上百個離線分析任務,每個分析任務服務于不同子公司或業務場景,任務之間會有依賴關系,不同優先級的任務調度時機不同,基于以上問題,魔盒的離線計算部分集成了Linkedin開源的作業流引擎Azkaban,離線計算任務作業流提交程序如下圖:

圖15:離線計算任務作業流提交程序
1. 魔盒提交請求到AzkabanWebServer;
2. AzkabanWebServer將任務分發到可運行的執行器上;
3. 執行作業流;
4. 將執行程序產生的元資料資訊寫入MySql資料庫,
5. AzkabanWebServer讀取MySql資料監控任務執行狀態,
6. 魔盒讀取MySql資料監控任務執行狀態,
目前魔盒離線計算任務支持串行、并行等復雜作業流設定,如下圖:

圖16:復雜作業流設定
- 實時計算
禧云目前在用的實時計算框架為Apache Storm和Apache Flink,Storm主要兼容以前的實時分析任務,隨著Flink開源社區的活躍和批、流合一的優勢,在禧云內部Flink將逐漸取代Storm,因此魔盒實時計算目前僅支持Flink計算框架,魔盒實時計算的測驗和上執行緒序如下圖17所示:

圖17:實時計算任務測驗上線流程
實時計算任務(流計算)上線后會長期運行,運行中可能由于服務器宕機等原因導致任務運行失敗、資料丟失,為避免上述問題發生,魔盒報警體系會檢測實時任務運行狀態,一旦失敗將立即報警,為防止資料丟失,結合Flink的CheckPoint機制,魔盒對運行失敗的任務提供重新拉起操作,重新拉起時魔盒會自動檢測失敗任務的上一個檢查點(CheckPoint),默認從上一個檢查點處開始執行,開發人員也可以手動輸入檢查點路徑進行拉起,
- 監控報警
為保證計算任務正常運行,魔盒具備完善的監控報警體系,魔盒報警體系根據計算任務分為以下兩類:

表3:魔盒監控報警分類
魔盒已經成為禧云資料開發人員主要的作業平臺,在流程規范性和開發效率上極大地提高了開發人員的作業效率,完善的監控報警體系能夠保障資料生產的穩定性和時效性,
3.3 資料質量平臺
隨著大資料技術的普及,『資料即資產』的觀念已經成為共識,資料資產化需要將雜亂無章的資料進行合理有效的組織,同時需要考慮到隱私、合法、合規等資料確權問題,因此資料資產化行程必將是一個緩慢、復雜的程序,然而,良好的資料質量是資料資產化的前提條件,資料質量平臺(代號:能量塊或元資料管理系統,以下簡稱能量塊),是禧云進行資料資產化的第一步,主要解決資料倉庫元資料管理、資料血緣關系、生命周期和業務資料監控等當前作業中亟需解決的問題,
·產生背景
禧云在生產程序中產生了大量的業務資料,資料在進入資料倉庫的程序中會產生大量的元資料資訊,上述元資料資訊在使用程序中主要面臨以下問題:

圖18:資料質量管理面臨的問題
為解決上述問題,邁好資料資產化行程的第一步,我們首先從資料歸屬、元資料統一備查和資料管理三個方面入手,來建設資料質量平臺,
·技術實作
- 基本概念


表4:資料質量平臺基本概念
- 元資料管理
能量塊中的元資料管理主要從資料倉庫表級確定資料歸屬(例如禧云資訊團餐業務線),按照技術元資料和業務元資料為資料開發人員和使用人員提供統一查詢入口,元資料資訊包含以下資訊:

圖19:元資料管理詳細資訊
為實作上述功能,我們調研了很多業內元資料管理方面的開源框架,從體系結構完整度和自身技術特點方面考慮,我們選擇Apache Atlas作為能量塊的元資料管理框架,
- 血緣關系采集
在禧云一個復雜的離線資料分析任務,需要經過多表關聯,外加很多約束條件限制,業務人員對某個資料指標提出質疑時,資料開發人員需要重新梳理該指標的邏輯,甚至需要翻看代碼,費時費力,
為降低問題排查和解釋成本,我們在離線計算任務中集成Spline(from Spark lineage),通過決議Spark執行計劃動態生成計算任務血緣關系圖譜,

圖20:離線計算血緣關系圖譜
開發人員或業務人員在能量塊的圖形化界面上,可以清晰地了解資料指標的計算程序,極大地提高了問題排查和邏輯梳理效率,
- 資料質量監控
資料倉庫作為業務資料的下游,經常會出現上游業務資料發生變更,導致資料分析結果不正確的現象,為避免上述問題產生,我們在與上游業務方建立溝通機制的基礎上,在能量塊中增加了資料質量監控模塊,
資料質量監控模塊用于監控資料指標的上下游資料情況,例如:每日訂單資料是否在合理的資料范圍內,對此,我們根據業務線制定了不同的規則引擎,在關鍵資料指標計算前,首先觸發規則引擎,規則引擎校驗通過后,才能進行資料計算,對校驗不通過的資料,第一時間通知到上游業務方處理,
能量塊除上述功能外,還具有資料使用情況統計功能,對未使用的資料提供下線清理操作,目前能量塊僅僅解決了資料歸屬、元資料統一備查和簡單的資料監控管理功能,資料質量和資產管理是個很大的課題,禧云剛剛完成了小升初,后續還有很多東西要學,資料質量的好壞直接關系到資訊的精準度,影響到企業的生存和競爭力,禧云將在該方面加大投入力度,
3.4 資料開放平臺
禧云資料開放平臺(代號:資料開放實驗室,以下簡稱實驗室),是一套安全、高效、自助式的資料開放平臺,實驗室在不暴露隱私資料的前提下,通過多種安全機制實作資料授權,為使用人員提供SQL互動式查詢分析、資料定制下載能力,對分析結果提供自助式報表配置功能,
·產生背景
隨著業務的發展,禧云在資料支撐方面的需求越來越多,單純依靠資料部門提供資料支持,已日漸捉襟見肘,再結合禧云資料方向的發展戰略,亟需將資料分析能力下放到各部門、子公司或ISV手中,資料開放實驗室在此背景下產生,
·技術實作
實驗室可將資料倉庫、資料集市中的資料授權給各部門、子公司或ISV進行查詢分析,為保證資料安全和企業間資料相互隔離,實驗室在實作程序中定義了企業專區的概念,一個企業專區可以理解為一個部門、子公司或ISV,企業專區由實驗室后臺管理負責開通,專區內設管理員和操作員,管理員負責添加操作員賬號,操作員可在實驗室內進行查詢分析、資料下載、報表配置等操作,實驗室架構圖如下圖所示:

圖21:資料開放實驗室架構圖
專區內又分為實驗區、生產區和報表區,具體概念如下表所示:

表5:磁區定義
資料開放實驗室在技術實作上分為后臺管理(實驗室管控端)和查詢分析(資料開放實驗室)兩部分,
- 實驗室管控端
適用人員為資料部門的資料管理人員,管控端主要完成資料倉庫、集市等元資料同步、企業專區開通、資料授權等操作,
資料管理人員根據各部門、子公司或ISV申請,開通企業專區賬號,賬號開通后由企業專區負責人添加操作員賬號,
企業專區賬號開通后,資料管理人員根據資料授權申請,向企業專區進行資料授權,授權流程如下圖所示:

圖22:實驗室管控端授權流程
為做到相互隔離和資料安全,實驗室管控端通過條件限制控制資料的授權,對手機號、身份證號、郵箱等敏感資訊管控端采用加密演算法防止資料泄露,
- 資料開放實驗室
資料開放實驗室適用人員主要為部門、子公司、ISV的查詢分析人員,實驗室對查詢分析結果提供定制下載、API介面呼叫和報表配置三種資料輸出能力,

圖23:實驗室查詢發布流程
為方便查詢使用,實驗室對已授權資料提供詳細的元資料資訊,此外,實驗室還集成了可視化平臺用于報表配置,資料開放共享是指按照統一的管理策略對組織內部的資料進行有選擇的對外開放,是實作資料跨組織、跨行業流轉的重要前提,也是資料價值最大化的基礎,資料開放共享能力,是衡量企業資料管理能力成熟度的重要衡量指標,資料開放實驗室通過安全、高效的授權策略打通了資料倉庫與各部門、子公司和ISV之間的資料壁壘,通過互動式查詢和可視化報表配置等功能將資料分析能力賦予禧云各下屬企業,資料開放實驗室標志著禧云資料的開放共享能力得到了進一步的提高,
3.5 資料介面服務
資料介面服務(代號:API服務),對外提供統一的資料呼叫介面和資料回傳格式,用于資料報表平臺、可視化平臺和其他平臺的資料請求呼叫,資料介面服務基于RESTFul架構進行介面封裝,實作了資料與應用程式的解耦,有利于資料復用和各應用系統集成,
·產生背景
隨著業務的發展,禧云各下屬企業需要資料支撐的場景越來越多(例如支付寶和微信小程式,移動客戶端等),資料獲取方式日漸多樣化,禧云資料部門在資料提供方式上的局限性越來越明顯,主要表現在以下兩方面:
- 報表平臺與資料耦合性太嚴重,資料復用性不高;
- 資料提供方式單一,其他業務系統集成難度較高,
·技術實作
不同業務場景對資料的時效性和靈活性要求不同,例如:運營調度對資料時效性要求比較高;運營分析對資料統計的靈活性要求比較高,因此,禧云資料集市采用MySql、Druid、HBase、Redis等不同存盤方式應對上述場景,
資料介面服務將不同的資料存盤封裝成不同的資料服務群,采用Spring Cloud微服務框架進行統一管理,總體架構如下圖所示:

圖24:資料介面服務架構圖
資料開發人員根據具體業務場景,將資料集市中的資料通過資料遷移平臺輸出到不同的資料存盤中,資料使用方通過呼叫資料介面服務對外暴露的介面來獲取資料,- 后臺管理資料介面服務以應用為單位對外提供資料,后臺管理負責開通應用訪問權限和服務監控報警等作業,應用訪問權限開通主要包含應用注冊(生成appId),生成應用訪問公私鑰,應用訪問安全限制(IP白名單,資料訪問權限等),- 資料請求流程應用訪問權限開通后,資料使用方按照介面引數標準來獲取資料,獲取資料流程如下:

圖25:API服務資料獲取流程
資料介面服務通過統一的傳入和輸出標準對外提供資料,實作了資料與應用程式的解耦,極大地提升了資料的復用性,靈活的資料輸出方式方便了其他業務系統的集成,加快了資料流通速度,
3.6 運維監控平臺
考慮到目前正在使用的大資料生態體系,禧云運維監控平臺(代號:磐石)直接使用Ambari大資料生態組件管理系統,Ambari包含安裝部署、配置管理、監控告警等大資料組件與集群管理功能,完全滿足禧云在大資料集群上的運維和監控要求,
組件名稱 | 版本 | 說明 |
Ambari | 2.7.3.0 | |
Hadoop | 3.1.1 | |
Yarn | 3.1.0 | |
Tez | 0.9.0 | |
Hive | 3.1.0 | 對時間函式進行改造 |
HBase | 2.0.0 | |
Sqoop | 1.4.7 | |
ZooKeeper | 3.4.9 | |
Storm | 1.2.1 | |
Infra Solr | 0.1.0 | |
Atlas | 0.7.0 | |
Kafka | 1.0.0 | |
Spark2 | 2.3.0 | |
Druid | 0.15.1 | |
Flink | 1.7.2 | |
Superset | 0.28.1 | 二次開發 |
表6:大資料生態組件版本
Ambari相關介紹在這里不再闡述,詳細細節請參照附錄3,上表為禧云正在使用的大資料各組件版本資訊,
3.7 本章小結
資料遷移平臺、開發協作平臺、資料質量平臺和運維監控平臺涵蓋了禧云資料生產輸出、開發協作、質量監控和大資料集群運維監控整個資料生產流程,合理有效的的架構體系和方便易用的圖形化操作界面,極大地提高了資料開發人員和運維人員的作業效率,資料開放平臺和資料介面服務,通過安全靈活的方式為資料使用方賦能,平臺支撐體系和資料管理體系從技術和資料角度闡述了禧云大資料體系的建設程序,在此基礎上禧云還構建了完善的資料產品體系,
第四章:資料產品體系
隨著大資料的發展,資料產品的概念變得更加寬泛,我們在平臺支撐體系里講的資料遷移平臺、資料質量平臺等廣義上也可以歸結到資料產品體系中,在本章內容中所說的資料產品體系是指報表平臺、可視化大屏等資料應用產品,為提供更方便快捷的大資料應用服務,禧云打造了服務于集團各子公司和部門的資料產品體系,根據資料使用角度不同,產品體系分為資料報表平臺、自助分析平臺和資料可視化平臺三部分,
4.1 資料報表平臺
資料報表平臺(代號:禧鵲資料)是專門為業務運營人員和管理層打造的一款提升運營效率和決策效率的資料化運營產品,報表平臺整合了高校、中學等多個業務單元的相關指標,提供一站式資料展現服務,緯度方面覆寫商戶、門店、專案、設備等,便于業務人員從不同角度分析資料指標,資料報表平臺提供串列、曲線圖等豐富圖形組件來完成報表配置作業,通過完善的權限設計,可以為管理層、業務運營人員分配不同的資料權限,- 適用范圍管理層、業務運營人員等,
4.2 自助分析平臺
自助分析平臺(代號:天演)是一款為資料分析師或資料分析人員開發的一站式自助分析平臺,自助分析平臺已與資料開放實驗室打通,資料分析人員可將實驗室中發布的報表資料通過天演進行可視化分析,我們在資料開放平臺部分已經介紹了資料開放實驗室,實驗室通過安全靈活的授權方式將資料授權給資料分析人員,分析人員在實驗室中完成資料分析作業后,可在天演中探索資料,生成報表等操作,- 適用范圍資料分析師、資料分析人員等,
4.3 資料可視化平臺
資料可視化平臺(代號:數屏),是禧云自主研發的資料可視化平臺,它可以通過圖形化界面快速搭建運營監控大屏、峰值日資料戰報,提供豐富的可視化組件,滿足業務監控、會議展覽、投資咨詢等多種展示需求,同時還可以自適應手機等移動設備,
- 適用范圍
業務監控、會議展覽、投資咨詢等,

4.4 本章小結
資料產品體系依托完善的資料管理體系和平臺支撐體系,滿足禧云管理層、資料分析人員、運營人員等不同角色的資料需求,隨著『業務資料化,資料業務化』觀念的逐步深入,禧云將在資料智能、資料創新等方面投入力度,利用資料為企業賦能,為禧云服務的商家賦能,
第五章:未來規劃及展望
2019年資料中臺概念變得火熱,被譽為大資料的下一站,核心思想是資料共享,資料中臺以資料倉庫和資料中心為基礎,通過資料技術,對海量資料進行采集、計算、存盤、加工,同時統一標準和口徑,形成大資料資產層,進而為企業、客戶提供高效服務,禧云始終圍繞『開放共享,資料賦能』的理念來進行資料建設,與資料中臺的構建思路不謀而合,資料管理體系、平臺支撐體系和資料產品體系從資料資產管理、資料開放共享、開發協作調度、資料采集遷移、資料可視化及自助分析和平臺運維監控六個維度共同構成了禧云的資料中臺體系,隨著市場競爭環境日益加劇,如何利用資料推動企業發展,保持市場競爭力是目前大多數企業面臨的問題,禧云將在現有資料中臺的基礎上,穩步提升資料資產質量,加大資料智能投入,利用資料賦能業務,完成企業的數字化轉型,逐步實作『一切業務資料化,一切資料業務化』的生產倍訓,為商家、合作伙伴、集團提供更好的服務,利用資料為產業賦能,讓天下沒有難做的團餐生意!
附錄
1:DataX:阿里巴巴開源的離線資料同步工具,實作多種異構資料源間的資料同步功能,具體使用參照:https://github.com/alibaba/DataX,
2:Lambda架構:大資料平臺比較通用的架構,由Apache Storm作者Nathan Marz提出,是為了在處理大規模資料時,同時發揮流處理和批處理的優勢,http://lambda-architecture.net/,
3:Ambari:Apache基金會頂級開源專案,是一個集中部署、管理、監控大資料生態集群的工具,https://ambari.apache.org/,
關注“云縱達摩院”公眾號,回復關鍵詞“白皮書”即可獲得白皮書PDF下載鏈接,

轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/37868.html
標籤:大數據
上一篇:mysql 索引
下一篇:Spark調優指南
