《eBay數據平臺化實踐和思考.pdf》由會員分享,可在線閱讀,更多相關《eBay數據平臺化實踐和思考.pdf(44頁珍藏版)》請在三個皮匠報告上搜索。
1、 eBay數據平臺化實踐和思考演講人:邵鋒AboutWe connect people and build communities to create economic opportunity for all.At eBay,we create pathways to connect millions of sellers and buyers in more than 190 markets around the world.Our technology empowers our customers,providing everyone the opportunity to grow and
2、 thrive no matter who they are or where they are in the world.And the ripple effect of our work creates waves of change for our customers,our company,our communities and our planet.(As of Apr 06.2025 per https:/ 數據按規范治理、脫敏)賬戶類型、狀態等注冊地、注冊時間等年齡組用戶群體劃分買家、賣家群體分類(通?;跉v史行為數據,比如 Frequency&Monetary Buyer)eB
3、ay Plus計劃行為數據-Behaviors客戶端Tracking服務器端Tracking行為數據-Behaviors服務器端日志數據 ServedServer LoggingImpression(Page+Module)Service Calls.用戶瀏覽行為 ViewedPage viewsModule views用戶交互行為-Engaged站內:Click/Scroll/Mouse move/站外:郵件/廣告/消息 的 send/open/click.轉換數據-Conversions行為轉換事件-Potential Conversions加購物車下單購買競價出價報價etc.實際成交-P
4、aid Purchases商品價格(地方貨幣結算、美元匯率結算)稅費運費折扣.eBay GMV 數據價值和使用場景基本 Metrics 計算 page count,user count,click trend,CTR,GMV metric,etc.Session 分析 page bounce rate,entry rate,session click count,etc.用戶數據聯合分析 cohort analysis,user retention,etc.產品維度分析 Heatmap,product analytics,EP analysis,etc.全鏈路全場景用戶Journey/Funn
5、el/Conversion 分析數據架構設計的思考數據架構設計的思考行為數據捕獲-客戶端 vs 服務器端客戶端Tracking會將代碼加載在客戶端,包括瀏覽器網頁和手機app等等;而服務器端Tracking則會在服務器端使用中間件或添加代碼等方式,記錄用戶與服務器的交互。所以,客戶端與服務器端所能得到的結果會有許多不同。如下圖所示,服務器端推薦N個商品,而用戶在客戶端實際上只看到了前3個。行為數據捕獲-廣度 vs 深度廣度(平臺)Tracking統一的Tracking方式,覆蓋所有領域頁面、模塊,統一的數據抓取邏輯和數據結構。旨在解決各個業務領域的共有或者跨領域的問題。比如,Web自動化Tra
6、cking。深度(細分領域)Tracking各個細分領域針對各自業務獨立設計實現,往往在垂直方向深入,不同業務線之間的數據不確保一致性。此外,數據處理方、消費方的邏輯也與實際業務邏輯緊密關聯。不同的Tracking數據源會合并一起做Bot Detection,以及生成會話。分階段、多維度的Bot DetectionRT+NRT+Daily Batch 的識別規則IAB List for Spiders and Bots某個Device在某一個時間范圍內 生成過多的行為數據(device id/ip+agent/)一天內某個IP+agent組合生成過多的session 或者 cookie ids
7、我們也會基于用戶的設備會話維度來判定BotTotalTopicsBatch Processor(N-Hourly)Batch Processor(Daily)Dumper(Streaming)Real-Time ProcessorCustomized TopicsDistributor(Streaming)N customized topicsKafka TopicsHadoop TablesSourcesSessionizationBot detectionProcessing用戶數據分析維度-會話/路徑根據分析維度的不同,用戶旅程可以細分為訪問會話(Session)和訪問路徑(Path)兩
8、種。會話指在時間維度上具有連續性的一系列用戶事件的集合,我們采用30分鐘靜默期作為會話時間窗的分割標準。30 minsSession 1路徑指具有因果/時序關系的一系列用戶事件的集合,描述了用戶在eBay站內網頁跳轉的訪問鏈。我們同時需要Session 和 Path 的數據分析。Tab 1Tab 2Tab 3Home PageCartView ItemSearch View ItemSigninPaymentView Item SearchHome PageView Itemopen new tabopen new tab愿景:統一平臺化的方案?統一管理的數據模型規范化、流程化管理的元數據標準
9、化的數據處理方式數據架構-Kappa vs.Lambda簡化數據處理架構面向流式處理適用于事件數據驅動的系統,但對于需要復雜批處理歷史數據的場景不太適用,并且Replay數據重放可能會消耗大量資源。數據處理分層 Speed+Batch Serving歷史數據處理/其他純批處理需求數據準確性保證理想和現實:低延遲、高質量、完備性低延遲數據處理盡可能Realtime/Near Realtime相應支持實時數據流的數據存儲(中間狀態數據,依賴的Dimension數據,落地數據等)考慮將復雜的Batch處理解藕成一個個Streaming 操作單元,更方便的數據重放、邏輯重跑、數據修正等。高質量在確保數
10、據低延遲的同時,盡可能避免數據質量犧牲數據修正、甚至重跑Streaming場景下,更多的數據校驗,更全面的旁路輸出以及后續的修正策略需要更加完備、及時的數據監控和告警方案Daily Batch Restate vs.Streaming Replay數據完備性Table Join 轉為 Lookup by keys離線Accumulation 轉為 Window Transform,或者RT/NRT Storage Upserts(取決于讀寫的Throughput情況)一些原本離線的寫處理邏輯可以轉成基于實時數據的讀處理拋磚:業務需求 到 實際數據 的 鴻溝期望的數據期望的數據:搜索頁面訪問事件
11、多個搜索結果的瀏覽事件某個商品的點擊事件跳轉到商品頁面 實際捕獲的行為事件數據:實際捕獲的行為事件數據:Server 后端頁面曝光事件(page id xxx)Server 多個后端模塊曝光事件(module id aaa)Server 若干服務調用日志Client 前端頁面加載事件(page id yyy)Client 前端頁面瀏覽事件(page id yyy)Client 前端頁面離開事件(page id yyy)Client 若干個前端模塊瀏覽事件(module id bbb)Client 前端點擊事件(module id ccc)重復或者不一致,沒有SSOT裸數據難以直接用于分析缺乏直
12、觀統一的業務含義我想知道,從商品搜索頁面通過搜索結果的點擊,最終到商品詳情頁面的轉換率。拋磚:數據的生產和使用分析的潛在問題Exploded Data Proliferation and ComplexityBad VelocityLack of Trust in dataPoor DiscoverabilityHigh Maintenance Effortetc.工作模式:Data MeshRef-https:/www.datamesh- Contract for Producers and Consumers“A data contract defines the structure,fo
13、rmat,semantics,quality,and terms of use for exchanging data between a data provider and their consumers.”https:/www.datamesh- 我們可以利用系統能力,通過管理我們可以利用系統能力,通過管理Data ContractData Contract來服務來服務好數據的生產和消費需求。從而做到數據平臺化。好數據的生產和消費需求。從而做到數據平臺化。參考:Data Contract Specs數據消費者角度(數據消費者角度(Ref-Ref-https:/ quality.Suppor
14、t&communication channelsPricingTeamRolesService-level agreement(SLA).Infrastructures&serversetc.數據生產者角度(數據生產者角度(RefRef -https:/ Router Policy)Validation Rules/Quality Criteria/etc.RSCIetc.Data Modeling-物理層 到 邏輯層良好定義的數據邏輯模型可以:關注并解決物理層數據帶來的冗余,重復,業務含義缺失等情況。利用平臺管理好各個space下的邏輯模型和相關關系。數據消費的處理過程可以基于邏輯模型來聲明
15、邏輯。從而更直接、簡潔、一致的為下游消費服務。參考:DBT-modular data modelingWith a modular approach,every producer or consumer of data models in an organization could start from the foundational data modeling work that others have done before them,rather than starting from source data every time.https:/ Reusable components
16、Reusable components modules/transformations/etc.Data models have layerslayers.Base,staging,intermediate,data mart,etc.LineagesLineages of logical models.Version Control.Version Control.SemanticSemantic layer support.OptimizationOptimization via DAG and DebuggingDebuggingetc.邏輯描述、物理計算之間的中間表示-IR數據的IR(
17、Intermediate Representation)架構解耦架構解耦 -比如Substrait方案,旨在提供一種通用的數據描述計劃,和實際的物理計算引擎解耦邏輯定義邏輯定義-這個通用的描述計劃可以基于數據的邏輯模型,來定義Transformation。計算優化計算優化-IR層也使得查詢計劃可以在執行之前進行各種優化,例如過濾、連接和聚合操作的優化。數據去重數據去重/合并合并 -通過多個數據集的IR定義,我們可以比較直觀的判斷出數據的冗余或可復用的可能性。數據平臺的應用實踐數據平臺的應用實踐用戶行為數據平臺-數據痛點回顧Events N:M Signals(with SSOT semanti
18、cs)1:1 User Touchpoints裸數據難以直接分析缺乏統一的業務含義重復/不一致用戶行為數據平臺-架構概覽TrackingTrackingIngestionIngestionDeltaDelta GenerationGenerationSignalsSignals用戶行為數據平臺-統一的原始事件數據收集統一的事件模型:行為事件(瀏覽,點擊等)轉換事件(加購物車,購買,支付等)統一的Schema:Context+Payload一致可控的數據檢查用戶行為數據平臺-基于狀態機的Delta數據片基于有限狀態機-以頁面瀏覽數據為例用戶行為數據平臺-Delta數據片的定義基于狀態的數據字段聲
19、明對應的準入狀態后續計算可用與否計算公式基于狀態機的Delta數據生成狀態機定義 1-1 業務數據類別(比如XX 頁面瀏覽,YY 點擊等)每個Delta數據會打上Metadata中定義好的業務語義上游的事件數據,根據業務需求進入不同的狀態機流程不同的狀態機,對應生成不同類別的Delta數據狀態機輸出的Delta數據通過后續的聚合和字段增強,生成最終的業務數據用戶行為數據平臺-業務數據的組裝和生成Delta數據字段的聚合狀態機輸出的Delta數據通過聚合,生成最終的業務數據同一個狀態機輸出的Delta數據共享同一個PK(用于后續聚合)聚合方式Keyed Window ProcessingRT/N
20、RT upserts by PKRead side processing BatchDelta數據字段的增強Dimension Lookup(item fields,customer fields,etc.)Bot flag enrichmentSession details enrichmentetc.用戶行為數據平臺-數據 到 業務Impressions-XXX Page impression signals-XXX Module impression signalsEngagements-XXX Click signals-XXX Key input signals-etc.Conver
21、sions-Add to Cart-Bid/Buy/Offer-Checkout-etc.Client Tracking Events-Page views-Module views-Clicks-etc.Server Tracking Events-Page served events-Module served events-Service call loggings-EP loggings-etc.Conversion Tracking Events-Conversion Tracking Events-Server side logging Events-Business Events
22、-etc.Other Dimension Data-Customer Data-Item Data-etc.Delta更進一步:通用化的數據平臺DataData MeshMesh基于基于ContractContract的數據接入、DeltaDelta數據片數據片聲明的數據生產關注數據的物理層到邏輯層的模型化邏輯層的模型化?;跀祿P?,數據數據IRIR計劃定義計劃定義的可供消費的數據提供方案。數據平臺總覽ContractContractLogical Physical Logical Physical IRIRData ModelingData ModelingStreaming DeltaS
23、treaming Delta基于Data Contract的數據接入平臺提供基于Contract 規范來驅動數據接入的能力。Contract包括:Source 配置,Transformation 邏輯,Sink 配置,Validation規則等。Contract 細節參考:https:/ Contract的代碼生成平臺的元數據系統邏輯模型的描述 和 物理執行 例子:IBIS+Substrait定義好的數據邏輯模型?;谶壿嬆P?,利用Code DSL的形式來聲明最終數據的模型,生成方式。IR PlanSpark Execution PlanSubstrate:基于聲明的Code DSL,生成相應的IR Plan。Ref-https:/ 生成的IR Plan結合物理執行引擎參數,生成最終的物理執行計劃。Ref-https:/ 邏輯模型 IR 物理層(pipelines+datasets)未來的數據趨勢展望未來的數據趨勢展望未來的數據趨勢展望更加自助民主的Data Mesh更加強大的數據建模更加智能的數據處理優化更加直觀的數據使用體驗 平臺和數據用戶更多的實時數據和分析場景 -又快又準又省嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻嘻演講人:邵鋒