本次演講主要是和你們分享一下實時計算在滴滴的應用場景和一些實踐。web
內容來源:2017年8月12日,滴滴實時計算平臺負責人梁李印在「網易博學實踐日:大數據與人工智能技術大會」進行《滴滴海量數據實時計算實踐》演講分享。IT 大咖說做爲獨家視頻合做方,經主辦方和講者審閱受權發佈。
數據庫
閱讀字數:1260 | 4分鐘閱讀大數據
滴滴大數據體系的主要特色在於數據都是實時的,數據採集能夠採集到90%以上的數據。咱們的數據來源一共有三類,一類是Binlog數據,全部端上數據進數據庫經過Binlog進行實時採集;另外有publiclog,服務端的全部日誌也作了實時採集;還有端上埋點上報數據。ui
由於咱們全部數據基本都是實時採集,因此客戶級的處理流程也普遍運用了實時的技術。實時存儲方面用了三個產品,一個是ES,主要是作日誌檢索和實時分析;另外一個是Druid,用於作實時報表和實時監控;HBase是作查詢和數據掃描。雲計算
離線這部分目前用了Hive和Spark。Hive主要負責ETL工做,Spark作數據分析以及分析後的查詢。流計算方面咱們用了Spark Streaming和Flink Streaming。人工智能
從規模上來講,咱們實時存儲和離線規模都已經作到了國內的領先水平。3d
實時計算有四大場景,ETL、實時報表、實時監控和實時業務。日誌
由於咱們90%的數據都是經過實時採集,採集過來以後第一個環節就是作ETL,因此如今ETL的規模是最大的。實時報表能夠給運營和客服能夠用來作報表展現。cdn
實時監控的規模僅次於ETL,內部有兩類監控需求,一類是機器層面的,用了其它的技術方案;剩下就是業務類的實時監控,例如天天的訂單量、平衡率等數據,都運用了實時計算體系。視頻
實時業務是咱們今年重點突破的部分,咱們想把流計算在端上的場景去作一些突破。
爲了方便使用ETL,咱們把它作了平臺化,用戶只須要在web上配置就能夠實現數據清洗。如今的清洗量能夠達到每秒350萬左右的數據量,天天大約會清洗幾個P的數據量。這徹底是基於Spark Streaming的雲計算來實現的。
實時報表主要用的實時技術有Spark Streaming和Druid。Spark Streaming仍是作數據清洗。Druid能夠實時消費Kafka數據,但對數據是有要求的,因此要先通過一輪清洗並轉化。
實時報表的場景也比較多,有客服大屏、異常統計大盤和訂單熱力圖。
客服大屏就是一個能夠顯示客服電話的應答率、投訴熱點及排隊狀況等信息的屏幕。
異常統計大盤包括了端上向服務端發起請求的監控,請求的成功率失敗率、請求數,均可以經過這種方式進行監控。
訂單熱力圖能夠看到某個區域的訂單量、乘客量、司機量,經過地圖的方式進行展示。
咱們選擇了Druid是由於它有一些特色,好比查詢靈活。
爲了提高之後的監控效率,咱們構建了一站式自助監控平臺,進行了全鏈路的平臺建設。
基於這個平臺,咱們滴滴內部接入的數據源大概有兩百個,指標監控大概有四五百個。
Flink Streaming是今年剛引入的引擎,咱們想經過實時的業務對延遲性很是高、數據丟失以及數據重複等問題提出更好的解決方案。
下降實時計算開發成本:相對於Hive等等,開發實時計算的難度仍是比較大,咱們也在探索更簡單的開發方式。
實時業務拓展與挑戰:咱們在實時ETL、實時報表、實時監控的領域目前技術已經很是成熟,也基本上涵蓋了全部滴滴內部的業務場景。實時業務對時延、容錯的要求很是高,這是咱們如今面臨的一個重要挑戰。
業務峯谷資源合理分配:咱們如今要作的就是如何將資源合理分配,讓資源可以更合理地使用,爲公司節省成本。
我今天的分享就到這裏,謝謝你們!