成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

在電商場景中,如何建設全鏈路數據血緣?

大數據 數據倉庫
本文將分享在電商場景中如何建設數據血緣。在數據一致性方面,通過全鏈路血緣等手段,我們實現了指標從定義到生產消費的完整自動化流程,提升了指標的管理效率,減少了人為失誤。

一、數據全鏈路血緣介紹

在電商場景中,我們建設數據全鏈路血緣的核心目的,是對數據從源頭到終端全過程進行追蹤和管理。

圖片

以零售行業舉例,數據包括商品數據、物流信息、用戶反饋等,其全流程包括:

  • 通過數據采集,如業務日志、埋點、表格、存儲。
  • 經過 ETL 數據加工,包括離線和實時兩種任務。
  • 再到數據服務中的物理表、邏輯表,以及服務編排。
  • 最后透傳到數據應用,比如接口、頁面、報表、指標等。

在業務發展過程中,我們常常會遇到如下問題:

首先,隨著業務的快速發展,數據不斷膨脹。數據量增大,但數據產生的實際價值在哪里?數據血緣則可以幫助我們更好評估數據價值,并在滿足業務需求的同時,控制存儲計算資源的膨脹速度。與此同時,數據血緣還能夠衡量數倉建設的優劣,并且做好數倉體系化建設。

第二,如何做好數倉變更監控?在數倉的日常開發過程中,我們經常會遇到上下游變更,變更后希望能及時、準確地衡量數據變更的影響。由于數據來源變更豐富,需要通過數據血緣將數據變更及時通知下游關聯方。

第三,數倉研發提效。我們希望通過數據血緣及時完成表重構,理清字段的來源以及加工口徑,并且進行任務精準回溯。

最后,通過數據血緣助力指標體系化建設,保證指標一致性,避免重復開發。在指標體系化建設中,數據血緣可以幫助將新增的指標綁定到已有的指標上。

1. 解決數據不斷膨脹的問題

針對數據膨脹的問題,數據血緣可以明確數據流轉路徑,優化資源配置。血緣關系可以精確衡量數倉對業務的價值,實現數據治理,控制資源膨脹,并且能夠精準地完成影響面評估。

2. 幫助數倉開發提效

圖片

隨著業務發展,我們經常面臨模型重構的問題,比如一些舊表要切換到新表。數據血緣分析可以幫助我們快速定位模型重構的切入點,提升數據處理的效率。基于算子級的血緣關系,數據血緣可以實現任務的精準回溯優化,減少數據修復流程時間,減少錯誤傳播。

3. 保障數據一致性

圖片

在數據一致性方面,通過全鏈路血緣等手段,我們實現了指標從定義到生產消費的完整自動化流程,提升了指標的管理效率,減少了人為失誤。通過血緣分析加解析能力,我們能識別出重復加工的字段,優化數據流程,從而減少不必要的資源消耗。

二、如何構建數據血緣底座

血緣底座是全鏈路數據血緣的基石。接下來,我將從整體架構、質量評估體系和應用層血緣三個方面來介紹血緣底座的建設。

1. 整體架構

圖片

整體架構-關系圖譜

如上圖所示,關系圖譜中有一些關鍵特點,如點、邊、節點存儲和邊存儲等。

  • 點(Node):代表各種類型的節點,如指標、任務等
  • 邊(Edge):表示節點之間的血緣關系,如數據流向、任務依賴等
  • 節點存儲:每個節點類型對應一個或多個圖中的點
  • 邊存儲:節點間的血緣關系通過邊來表示,邊包含方向和類型信息

一般數倉加工鏈路會進行分層,如 ODS 貼源層、DWD 明細層、DWS 匯總層等,最終透傳到數據產品的前端頁面。

如果用傳統的離線數倉來實現以上架構,且有明確關系的表模型,是非常困難的。最終,我們選擇了字節自研圖數據庫來實現血緣數據的底層存儲。

2. 血緣質量度量體系

血緣質量是整個全鏈路血緣從應用到實踐的最核心評測標準。

舉個例子,如果某個業務要基于字段級的血緣回溯下游,但是由于血緣質量不達標,預期要回溯 10 個任務,最終查出來 11 個或者 9 個,出現一定誤差。

在電商場景中,我們搭建了一套完整的血緣質量度量體系,從血緣解析的準確率、成功率、覆蓋率、查詢能力等維度來度量血緣的數據質量,評估血緣質量的健康程度,并且定期自動化檢驗血緣數據與實際數據流向的一致性。我們通過定期巡檢機制發現 bad case,并隨之更新、迭代對應的血緣模塊。

3. 應用層血緣

圖片

應用層血緣,與常規理解的數倉鏈路血緣不同。

對于數據鏈路血緣來說,我們針對異構數據源的 SQL 進行解析,在數據平臺上維護了很多豐富的元數據,可以更好解析數倉之間的鏈路關系。但是對于應用層則不同,在電商場景中,我們維護了很多數據應用,如果逐一推進應用接入全鏈路血緣能力,成本很高。數據流轉是從產品頁面經過 HTTP 或者 thrift 接口請求后端服務,經過數據服務層打到數倉底表。

右圖將該過程劃分層級,通過低代碼平臺搭建前端頁面、業務產品頁面、數據產品頁面,再通過接口的形式請求后端服務,最終映射到在 one service 上,形成對應的 API,其底層就是剛才提到的數倉鏈路的血緣。

圖片

為了解決業務應用接入成本高的問題,我們實現了網關層自動參數上報,通過日志平臺以及網關平臺、服務平臺間的合作,在前端請求接口時會自動上報 URL refer 參數,再通過日志采集系統把所有前端請求的日志采集下來,經過清洗,最終實現應用程序血緣的數據采集。

但在整個過程中,我們會遇到爬蟲亂傳參數、不傳參數等問題,對血緣質量造成污染。為了解決該問題,我們通過腳本對域內的爬蟲進行補全。通過自定義爬蟲腳本,對全域的前端接口進行抓包,替換外部污染的數據。

三、電商場景的血緣應用實踐

接下來重點介紹一下血緣應用在電商場景的實踐,包含新舊表切換、字段口徑探查、指標自動化拆解三個部分。

1. 新舊表切換

開發人員使用 IDE 修改一個方法時,會改方法名、方法的入參以及方法的出參,IDE 則提供代碼級的替換能力。

而對于數倉研發人員來說,沒有類似的能力可以做切換的操作。一般在重構中,數倉研發人員拿到要切換的表,通過人工查詢,獲取切換舊表影響的任務,進而手動拉群,做切換表的通知,下游的接收人收到消息后,更改任務代碼,并進行數據比對,如果發現有問題需要再與上游進行溝通,如果沒有問題則上線代碼。

圖片

基于一站式新舊表切換功能,上述人工操作可以由平臺自動完成,大幅降低了切換的工作量,提高了工作效率和質量。

通過平臺能力,數倉研發人員只需要在系統中錄入舊表信息,以及新舊表的映射關系,就可以自動生成切換后的代碼。在生成代碼、跑數之后,平臺還支持與舊表的歷史數據進行比對。對比結果無誤的情況下,下游無需做任何調整。除此之外,平臺還提供了批量切換的能力,可以同時進行多張表的切換。

對于下游切換者來說,原本由于切換收益不大,導致操作意愿不強。但現在通過平臺提供的切換收益量化的能力,如 SLA 和穩定性提升,提升下游切換意愿。

圖片

下面介紹技術實現。用戶輸入需要切換的舊表之后,平臺通過舊表的產出任務進行解析,獲取語法樹文件,并基于語法樹文件做裁剪、替換。基于用戶輸入的新舊表映射關系生成切換后的 SQL,再提交到比對平臺,最終完成整體比對。

在這一過程中,用戶不希望原生代碼遭到太多破壞,如注釋被溶解,或對一些寫法造成影響。針對這種情況,我們會在 SQL 解析前把注釋的關鍵信息保留下來,拿到比對完成的 SQL 之后再做補全,最終把原始任務的 SQL 盡可能相似地提供出來。

2. 字段口徑探查

作為一名數倉研發人員或 BI 分析師,經常需要閱讀其他人代碼,如果代碼復雜度高,對讀碼的專業性要求會比較高。為解決這個問題,平臺提供可視化頁面輔助轉譯。

圖片

如上圖中的例子,將一段 SQL 轉譯成圖的形式,可以更好幫助不寫代碼的角色更好理解這段 SQL。

在大多數使用場景中,用戶只想看到某個字段,或者某幾個字段在任務中的加工邏輯。平臺能力實現了在任務中裁剪出所需字段加工邏輯的能力,最終裁剪掉超 90% 的無關代碼。原本需要從 100 行代碼中提取出來某個字段的加工口徑,現在借助平臺能力,只需要閱讀幾行代碼就可以完成需求。

圖片

此外,我們希望將整個數倉鏈路中分層維護的 SQL 進行溶解。

一個傳統數倉鏈路有 ODS 層、DWD 層、DWM 層、APP 層等等,每層都會維護一段 SQL。用戶需要梳理 APP 層的 SQL 里面的某個字段從 ODS 層哪里來的,過程比較復雜。

基于平臺的能力,我們把 4 個任務的 SQL 先展開成一段大 SQL,再進行內斂,最終變成從 ODS 層溯源到 APP 層的字段。平臺內斂之后進行裁剪。代碼的展開和收斂,是通過自研的一套語義解析引擎實現,該引擎已經申請了專利。

核心步驟如下:

  • 第一步,對 SQL 算子進行優化,平臺功能必須對算子級別 SQL 進行裁剪。
  • 第二步,語法糖溶解,一段 SQL 要不斷內斂,基于血緣關系找到上游表,放到替換掉這個實際的物理表名稱中,在這個過程中,就會涉及到很多語法糖的溶解,在傳統離線數倉里命名很多臨時表,平臺會進行完整的語法糖溶解。
  • 第三步,基于此加上算子重寫,獲取關系代數,最終 unparsed 成一段 SQL 返回給用戶。

3. 指標自動化拆解

圖片

左圖是傳統數據指標體系化建設架構,包含配置信息、原子指標、度量、時間周期、修飾詞等。每個指標種類不一樣,衍生指標來源于原子指標,復合指標來源于衍生指標。

指標體系化建設的核心目的就是保證指標的一致性,避免指標重復建設。

在電商場景中,我們早期推進指標體系化建設有一個核心的步驟——指標拆解,即把字段關聯到錄入好的配置信息里面。如果發現綁定已有的衍生指標,則避免了重復建設的工作。

在該過程中,通過進行用戶調研,我們發現,在做拆解的過程中,用戶有幾個核心環節,如通過字段口徑了解字段真實的來源鏈路,同時還要看字段整體的加工邏輯,再人工用該 SQL 做拆解工作。最后,用戶在指標平臺里面維護好元信息。應用層的指標開發完成之后,再去評審最終拆解結果的質量。

圖片

指標自動化拆解-技術實現

上圖為指標自動化拆解-技術實現過程。

第一,工程能力。工程能力底層是字段口徑探查的能力,將應用層的指標透傳到明細數據層表,同時平臺進行單指標粒度的裁剪,裁剪完成之后拿到字段應該綁定的 DWD 表,最終內斂到 DWD 表的極簡 SQL,過程中不需要人為查詢代碼完成邏輯梳理。

第二,底層數據能力。關鍵是必須維護好高質量的元數據。在電商場景中,我們維護了萬級別的指標關系,在指標關系中再維護類似于業務過程度量的 SQL 邏輯,如 where 條件。

第三,大模型的能力。基于大模型能力,我們結合裁剪之后的 SQL、待選 SQL 完成召回。裁剪之后的 SQL,基于元數據及大模型能力,與規則方法論進行匹配,最終把標的元素判斷出來。也就是說,研發人員只需要輸入新開發的表,就可以知道該表是否存在重復開發的問題。

判斷過程:根據拆解過程找到對應 SQL,原子指標、修飾詞、時間周期三個元素生成衍生指標,該衍生指標如果存在,就是存在重復開發,如果不存在,則可以在系統里綁定,供給數據應用使用。

四、總結與展望

圖片

數據血緣底座是提升數據管理效率和數據質量的關鍵。我們希望能不斷提升全鏈路數據血緣的能力,在上文提到的新舊表切換、數倉價值評估、指標拆解等場景中,更好結合大模型等能力優化功能和用戶體驗,為業務提供更多價值。

責任編輯:姜華 來源: DataFunTalk
相關推薦

2022-08-26 13:12:01

數據治理實踐

2020-09-11 10:29:16

騰訊云WeData 全鏈路

2023-06-19 07:27:50

網易嚴選全鏈路

2023-06-01 08:54:08

RabbitMQ確認機制生產端

2023-04-04 13:38:30

DataLeap數據血緣

2024-11-13 08:47:24

2015-07-08 09:13:41

Facebook數據中心

2021-08-06 11:47:17

食品安全

2023-12-20 14:10:53

2024-07-18 08:33:19

2021-03-31 22:37:03

數據中臺企業技術

2024-10-23 12:50:13

數據飛輪數字化

2022-06-30 15:26:35

區塊鏈司法配套設施

2011-06-10 15:04:41

SEO外鏈

2023-02-08 19:37:37

大數據技術

2022-04-07 12:02:22

區塊鏈大數據數據中心

2024-05-13 10:24:09

Ngram存儲Google

2023-02-16 18:20:01

電商搜索數據
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 免费黄色网址视频 | 无码一区二区三区视频 | 欧美日韩综合 | 电影91久久久 | 黄网站免费在线 | 午夜私人影院 | 国产成人精品久久久 | 97国产精品 | 欧美日韩亚洲国产 | 伊人伊人 | 一区二区av | 成人网在线观看 | 91久久久久久久久久久久久 | 欧美一级片黄色 | 韩日免费视频 | 婷婷色在线播放 | 91精品国产一区二区三区香蕉 | 天天曰夜夜 | 一区二区在线不卡 | 91精品国产一区二区三区 | 久久午夜剧场 | 欧美精产国品一二三区 | 欧美一级在线观看 | 我爱操 | 日韩综合在线 | 国产精品久久久久久久久久久久 | 在线观看中文字幕视频 | 中文字幕在线一区 | 亚洲va欧美va人人爽午夜 | 精品久久久久久亚洲精品 | 亚洲电影一区二区三区 | 一区二区三区精品 | 免费黄色av网站 | 久久精品一 | 成人小视频在线观看 | 亚洲国产成人精品女人久久久 | 免费日韩网站 | 国产成人精品一区二 | 国产精品久久久爽爽爽麻豆色哟哟 | 久综合| 精品国产欧美 |