1. 程式人生 > >樂刻大資料平臺架構實踐

樂刻大資料平臺架構實踐

樂刻運動大資料是基於hadoop體系搭建的,主要滿足運營的日常報表,以及公司核心指標為主。隨著2016年線上線下的發力,以智慧化健身為主的共享經濟的提出,資料需求量大幅的激增,資料從最初的GB級到現在的PB級急增,我們開始反思如何支撐未來的可預見性資料需求。

早期ETL技術報表平臺

樂刻大資料部門在早期,面對比較零散的統計需求,直接將業務資料配置指令碼定時匯入elasticsearch做一些複雜的統計查詢,2016年底,隨著運營資料需求的增加,希望查閱資料的人員增多,不同人員不同維度的查詢需求,我們專門得抽出一個人來對接運營統計的需求,另外在技術上已經很難滿足當前的統計需求。

因此,考慮到運營資料需求、公司核心指標需求相對固定,並且維度相對固定,我們搭建了早期的報表系統:

這裡寫圖片描述

                    圖1 樂刻運動資料平臺報表系統

早期的報表系統,由資料開發工程師提交資料任務,通過配置Oozie定時任務,定時的基於Hive資料做ETL過程,將報表系統所需的資料匯入elasticsearch。該系統從接收需求到報表系統裡看到資料,需要比較長的一段時間過程,涵蓋過程如下:

  • 運營提出資料需求
  • 將資料從hdfs使用hive處理資料結果
  • 定期的運營資料,會每天展示到資料視覺化平臺,臨時資料直接匯出結果

可以看出提供的查詢維度較單一,對接流程較複雜,角色間傳遞資訊較多,前後依賴太強,都是制約報表系統快速產出資料的根本問題。我們自研的資料視覺化平臺DMS,通過web方式按照多個維度查詢所需的資料,但對於非訂製化需求、資料探索需求、資料分析需求支援的力度並不好。我們開始規劃更好的資料分析平臺服務。

樂刻資料平臺2.0誕生

樂刻資料平臺2.0我們對整個系統進行了一次大的調整,從資料採集,資料加工,資料儲存,以及加入了髒資料預警功能,視覺化平臺方面提供更多定製化查詢需求,運營可以自定義設定查詢維度等。資料訪問層我們提供基於SQL的快速查詢功能,方便產品和需要使用資料的開發人員進行資料查詢。

樂刻資料平臺流式資料處理與計算

樂刻是一家智慧化健身平臺,意味著我們線下門店每天從各個裝置產生的資料量是相當大的量,我們需要收集所有硬體裝置的使用情況,監控每臺裝置執行情況,實時反饋到資料監控中心,樂刻線下硬體資料上報是通過阿里雲ONS設計的具體如下:

  1. 使用者通過APP傳送使用硬體裝置請求並且上報資料到ONS
  2. spark streaming實時消費產生的資料
  3. 通過資料模型產生結果資料
  4. 資料實時展示到監控中心

對於流式資料產生的結果,我們也會進行一些資料探勘,使用者畫像相關的處理流程,通過索引elasticsearch提供一些多維度的查詢服務。

樂刻資料平臺數據儲存與備份

由於我們的整個平臺是基於阿里雲打造的,所以自然而然我們使用到了很多阿里雲的服務,比如資料儲存服務OSS,RDS等,對於資料處理後的備份和處理如下:

  • 原始資料備份儲存到OSS和HDFS
  • 資料載入可以選擇本地機器或者從OSS匯入資料
  • 對於一些列式資料的儲存如hbase,會定期同步到hbase,阿里雲oss提供備份和還原資料

樂刻資料平臺的整體架構和處理流程

這裡寫圖片描述