閱讀862 返回首頁    go windows


處理-數據清洗/ETL__最佳實踐_日誌服務-阿裏雲

日誌處理過程中一個假設是:數據並不是完美的。在原始數據與最終結果之間有Gap,需要通過ETL(Extract Transformation Load)等手段進行清洗、轉換與整理。

案例

“我要點外賣“是一個平台型電商網站,用戶、餐廳、配送員等。用戶可以在網頁、App、微信、支付寶等進行下單點菜;商家拿到訂單後開始加工,並自動通知周圍的外賣送貨員;快遞員將外賣送到用戶手中。

deliver

運營小組有兩個任務:

  • 掌握外賣送貨員的位置,定點調度
  • 掌握優惠券、現金使用情況,定點投放優惠券進行互動運營

送貨員位置信息(GPS)數據加工

GPS 數據(X,Y)通過送貨員App每分鍾匯報一次,格式如下:

  1. 2016-06-26 19:00:15 ID:10015 DeviceID:EXX12345678 Network:4G GPS-X:10.30.339 GPS-Y:17.38.224.5 Status:Delivering

其中記錄了上報時間,送貨員ID,使用網絡,設備號,坐標位置GPS-X,GPS-Y。 GPS給出的經緯度非常準確,但運營小組需要統計每個區域當前的狀態,並不需要這麼細的數據。因此對原始數據需要做一次轉換(Transformation),通過坐標變成可讀的城市、區域、郵政編碼等字段。

  1. (GPS-X,GPS-Y) --> (GPS-X, GPS-Y, City, District, ZipCode)

這就是一個典型ETL需求,使用LogHub功能,創建兩個Logstore(PositionLog),以及轉換後Logstore(EnhancedLog)。通過運行ETL程序(例如Spark Streaming、Storm、或容器中啟動Consumer Library),實時訂閱PositionLog,對坐標進行轉化,寫入EnhancedLog。可以對EnhancedLog數據機型倉庫,連接實時計算進行可視化,或建立索引進行查詢。

整個過程推薦架構如下:

  1. 快遞員App上埋點,每分鍾匯報當前GPS位置一次,寫入第一個Logstore(PositionLog)
  2. 通過實時程序實時訂閱PositionLog數據,處理後實時寫入EnhancedLog Logstore
  3. 對Enahanced Log進行處理,例如計算後進行數據可視化。推薦:

deliver

支付訂單脫敏與分析

支付服務接受支付請求,包括支付的賬號、方式、金額、優惠券等。

  1. 其中包含部分敏感信息,需要進行脫敏
  2. 需要對支付信息中優惠券、現金兩個部分進行剝離

整個過程如下:

  1. 創建4個Logstore,原始數據(PayRecords),脫敏後數據(Cleaned),現金訂單(Cash),代金券(Coupon)。應用程序通過Log4J Appender向原數據Logstore(PayRecords)寫入訂單數據
  2. 脫敏程序實時消費PayRecords,將賬號相關信息剝離後,寫入Cleaned Logstore
  3. 分流程序實時消費Cleaned Logstore,通過業務邏輯把優惠券、現金兩個部分分別存入對賬相關的Logstore(Cash、Coupon)進行後續處理

order

其他

  1. LogHub功能下每個Logstore可以通過RAM進行賬號級權限控製,參見RAM
  2. LogHub當前讀寫可以通過監控獲得,消費進度可以通過控製台查看

最後更新:2016-11-23 17:16:10

  上一篇:go 采集-專用網絡(VPC)日誌文件__最佳實踐_日誌服務-阿裏雲
  下一篇:go 處理-實現ActionTrail__最佳實踐_日誌服務-阿裏雲