大眾點評資料平台架構變遷

2021-07-10 13:21:09 字數 2673 閱讀 3005

出處:

最近和其他公司的同學對資料平台的發展題做了一些溝通,發現各自遇到的問題都類似,架構的變遷也有一定的相似性。

以下從資料&架構&應用的角度對2012.07-2014.12期間大眾點評資料平台的架構變遷做乙個概括性的總結,希望對還處在資料平台發展初期的同學有一些幫助,歡迎線下溝通。

資料:

1. 以支援使用者報表需求為主

2. 初步沉澱出了一些底層模型

3. 模型計算程式以python為主

架構:

1. 儲存和計算都在greenplum

2. greenplum採用雙集群熱備,一大一小,部分關鍵報表資料同時在兩個集群儲存、計算。

3.傳輸:公司的dba同學將資料從mysql、sqlserver拉出來,落地成檔案。傳輸程式每天凌晨解析落地的檔案,然後將資料load到greenplum

4.排程:使用quartz框架,依賴關係存放到表中,將依賴檢查做成乙個指令碼,下游job 呼叫方法check上游任務是否完成

5.監控:使用者程式自主判斷異常,郵件、手機報警。

資料應用:

1.報表資料以郵件的形式傳送給使用者

2.使用者可以使用自定義sql的web查詢工具主動查詢資料

資料:

1. 有了明確的模型分層:

a) ods:存放從原系統採集來的原始資料

b) dw:儲存經過清洗,轉換和重新組織的歷史資料,資料將保留較長時間,滿足系統最細粒度的查詢需要

c) dm: 資料集市。基於部門或某一特定分析主題需要

d) rpt:直接面向使用者的報表

2. 形成了流量、**、資訊三大基礎模型及構建於三大基礎模型之上的資料集市

3. 基於volocity開發了canaan計算框架。

4. 開發了一些自定義的udf

架構:

1. 儲存和計算都基於hive

2. greenplum作為hive的「cache」存在,供使用者做一些小資料的快查詢,報表儲存。

3. 排程:和canaan框架進行整合,支援使用者快速新增任務,並自動匯入任務依賴。

4. 主資料:儲存了資料倉儲元資料資訊,供使用者查詢和系統內部各個模組互動。

5. acl:構建了資料倉儲資料訪問許可權控制,包括使用者許可權申請、審批者審批、資料賦權等。

6. 傳輸:

a)參考阿里datax的設計,實現了點評的異構資料離線傳輸工具wormhole

b)視覺化介面,使用者通過介面操作,方便的將資料匯入匯出資料

c)和排程、主資料等系統打通

7. 監控:由於任務數量增長較快(2000+),運維已經是個問題此外,因此,我們花了較大精力做了視覺化的工作:

資料應用

1. 運營工具:使用者自定義sql,儲存基於hive

2. 指標(kpi):使用者自定義sql,計算基於hive,結果放到greenplum中,使用者可以根據指標通過時間拼接成報表

3. hive web:非常便捷的hive web工具,可用性可以甩hive原生的web介面hwi幾條街了

資料:1. 有了明確的上層資料集市,各層資料集市打通,例如**資料和流量資料打通

2. 形成了使用者集市、商戶集市兩大主題

3. 和演算法團隊合作建設推薦系統

4. 提供框架和工具支援,引入外部資料開發者

架構:

1. 引入mysql、hbase,支援線上服務

2. 資料訪問介面支援:api、query engine、rpc service

3. 引入shark支援臨時查詢,出於穩定性考慮,犧牲效能,shark/spark集群和hadoop/hive集群物理隔離

4. 資料質量:使用者指定以條件,對計算結果做檢查

資料產品:

支援dashboard

資料:1. 持續擴充/完善資料模型

3. 完善資料開發平台,其他部門資料開發者100+

架構:1.建設redis cluster,支援實時推薦、使用者畫像等服務

2. hadoop公升級到yarn

3. 引入storm支援實時計算

4. 推出類kafka的分布式訊息系統,結合日誌框架,支援日誌資料的快速/低成本接入

5. 建設元資料中心

資料產品:

推出專有資料產品,包括:運營效果評估、流量分析產品等

大眾點評資料平台架構變遷

最近和其他公司的同學對資料平台的發展題做了一些溝通,發現各自遇到的問題都類似,架構的變遷也有一定的相似性。以下從資料 架構 應用的角度對2012.07 2014.12期間大眾點評資料平台的架構變遷做乙個概括性的總結,希望對還處在資料平台發展初期的同學有一些幫助,歡迎線下溝通。資料 1.以支援使用者報...

原創 大眾點評監控平台cat的效能分析

由於工作的原因,或者說我們之前內部監控設計和實現有點不滿足現有的研發需求,所以調研了一下大眾點評開源出來的cat這一套監控系統。今天我們就來實驗一把,cat的客戶端埋點在我們的程式流程中上報資料到cat的服務端這個流程對我們程式效能的影響。jmeter cat部署在內網 192.168.84.27 ...

爬取 大眾點評的 美食資料 二

爬取大眾點評資料,使用多執行緒處理。使用多執行緒爬取的目的是兩個,乙個是 多執行緒執行起來快。第二則是 乙個人訪問的url通過多執行緒的緣故變得雜亂無章,這樣不容易被發爬機制 確定。from concurrent.futures import threadpoolexecutor 通過引入 thre...