您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關Uber如何使用Apache Hudi近實時分析全球網絡,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
Uber業務規模快速增長,覆蓋了60個國家的600個城市,累計10B的訂單。
并且幾乎都是通過手機App來使用Uber,而100%都依賴于手機網絡,需要近實時的監控網絡的可靠性。
而無線網絡在各個地方的信號強弱均不一樣。
并且隨著時間的變化,信號強弱也發生變化;蜂窩網絡質量、網絡格式的變化等等。
對于網絡性能的挑戰很多,如維度太多,數據量太大等。
一種不太高效的解決方案是使用批處理重新計算所有數據,但開銷太高(重復讀取數據)、對相同數據的重復計算、計算結果更新太慢。
使用增量處理,即只處理數據源的更新,增量更新結果,便可更快地計算出結果。
可使用Apache Hudi進行增量拉取
對大數據引入了流式處理,只對變化的數據進行增量處理,減少延遲,擴展性更好。
基于Hudi的實現架構,Hudi會基于統計信息來管理文件,提供不同的視圖供不同的上層應用使用,并且更通用。DB的變化會導入kafka,然后每隔數分鐘使用Hudi(DeltaStreamer)進行消費,然后寫入Hudi數據集,在數據集上提供三種視圖(讀優化視圖、實時視圖、增量視圖)供上層應用使用。
Hudi在Uber中已經構建了超10PB的數據湖、1000個pipeline/表、每天處理100TB數據。
Hudi的增量模型使用微批任務(數分鐘),支持upsert(插入更新)結果集,支持增量拉取數據源變化的數據。
基于Hudi構建的增量pipeline和展示面板
可使用Spark DataSource API 或者DeltaStreamer來讀取數據源/寫入Hudi數據集。
構建增量pipeline,用來增量更新網絡指標
Hudi增量拉取處理后,會合并之前處理的結果
增量更新指標
總體的pipeline使用兩階段增量更新,第一階段結果在Sketch表(臨時表),第二階段合并為Summary表(最終結果總表),兩階段都涉及結果的合并。
Delta sketch和Delta summary均使用Hudi提供的DeltaStreamer實現。
Hudi在Uber的實踐經驗總結,包括測試、運維、監控
生產環境的增量pipeline設置
pipeline的運行時介紹,每天100GB,批量更新pipeline使用1200core、增量pipeline使用150core。
關于Uber如何使用Apache Hudi近實時分析全球網絡就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。