Categories
程式開發

Uber 大規模運行Apache Pinot實踐


Pinot 是一個實時分佈式的OLAP 數據存儲和分析系統。使用它實現低延遲可伸縮的實時分析。 Pinot 從脫機數據源(包括Hadoop 和各類文件)和在線數據源(如Kafka)中獲取數據進行分析。 Pinot 被設計成可進行水平擴展。 Pinot 特別適合這樣的數據分析場景:查詢具有大量維度和指標的時間序列數據、分析模型固定、數據只追加以及低延遲,以及分析結果可查詢。本文介紹了Pinot 在Uber 的應用情況。

引言

Uber 有一個複雜的“市場”,由乘客、司機、食客、餐廳等組成。在全球範圍內運營該市場需要實時的情報和決策。例如,識別延遲的Uber Eats 訂單或放棄的購物車有助於我們的社區運營團隊採取糾正措施。對於日常運營、事件分類和財務情報來說,擁有一個包含不同事件的實時儀表板是至關重要的,這些事件包括消費者需求、司機可用性或城市中發生的行程等等。

在過去的幾年裡,我們已經建立了一個自主服務平台來支持這樣的用例,以及Uber 不同部門的許多其他用例。該平台的核心構件是Apache Pinot,這是一個分佈式的在線分析處理(OnLine Analytical Processing,OLAP)系統,該系統用於對TB 級數據執行低延遲的分析查詢。在本文中,我們介紹了這一平台的細節,以及它如何融入Uber 的生態系統。我們重點介紹了Pinot 在Uber 內部的演變,以及我們如何從少數用例擴展到多集群,全主動部署,為數百個用例提供支持,以毫秒級的延遲查詢TB 級規模的數據。

原文鏈接:【https://www.infoq.cn/article/TicyyU15FpIVdtC2EQRD】。未經作者許可,禁止轉載。