什麼是大資料血緣?
今天跟一個測試同事聊天:
我:最近忙什麼專案呢?
他:在測大資料血緣
我:啥?
他:血緣啊
我:啥血緣?
他:大資料血緣啊
我:血緣是啥?
他:就是資料血緣啊
我:...
看看,天就是這麼被聊死的,我忍不住內心OS(怪不得你禿頂還沒女朋友)
我趕緊回來問問 google,分析了各路答案之後,可以總結成兩句話:
通常我們會對原始資料進行多個步驟的各種加工,最後產生出新的資料,在這個過程中會產生很多表,這些資料表之間的鏈路關係就可稱為大資料血緣。
大資料血緣測試,就是測試資料流轉過程中的每個環節的資料質量。
同時,資料血緣還有幾個同義詞:
Data Lineage 資料血緣(資料血統) = Data Provenance 資料起源 = Data Pedigree 資料譜系
在現實世界中,我們每個個體都是祖先透過生育關係一代代 孕育而來,這樣就形成了我們人類的各種血緣關係。
在資料資訊時代,每時每刻都會產生龐大的資料,即我們通常說的大資料,對這些資料進行各種加工組合、轉換,又會產生新的資料,這些資料之間就存在著天然的聯絡,我們把這些聯絡稱為資料血緣關係。
直白點說,資料血緣就是指資料產生的鏈路關係,就是這個資料是怎麼來的,經過了哪些過程和階段。
下面舉個通俗點的例子:
比如在淘寶網中,客戶在淘寶網頁中購買物品後,資料就被存到後臺資料庫表A中。我們希望檢視某個月賣的最火的是哪些物品時,就需要對資料庫中的原始資料進行加工彙總,形成一張中間表B來儲存階段處理的資料,若邏輯較複雜時,還要繼續加工繼續形成中間表。。。直到最後處理成我們前臺展現使用的最終表,假設為C表。
那麼A表是C表資料最初的來源,是C表資料的祖先。從A表資料到B表資料再到C表資料,這條鏈路就是C表的資料血緣。
在資料的處理過程中,從資料來源頭到最終的資料生成,每個環節都可能會導致我們出現資料質量的問題。比如我們資料來源本身資料質量不高,在後續的處理環節中如果沒有進行資料質量的檢測和處理,那麼這個資料資訊最終流轉到我們的目標表,它的資料質量也是不高的。也有可能在某個環節的資料處理中,我們對資料進行了一些不恰當的處理,導致後續環節的資料質量變得糟糕。
因此,對於資料的血緣關係,我們要確保每個環節都要注意資料質量的檢測和處理,那麼我們後續資料才會有優良的基因,即有很高的資料質量。
資料血緣的常見分析過程:
現在假設你是一名資料開發工程師,為了滿足某個業務需求,需要生成最終表 X。
可能是出於程式邏輯清晰或者效能最佳化的考慮,你為了生成這張表,透過 MR、Spark 或者 Hive 來生成很多中間表。
如下圖,是你將花費時間來實現的整個資料流,其中:
Table X 是最終給到業務側的表
藍色的 Table A-E,是原始資料
黃色的 Table F-I ,是你計算出來的中間表,這些都是你自己寫程式要處理的表
Table J ,是別人處理過的結果表,因為本著不重複開發的原則,你很可能要用到同事小夥伴處理的表
過了一段時間後,業務側的感覺你提供的資料中有個欄位總是不太對勁,其實就是懷疑你的資料出問題!需要你來追蹤一下這個欄位的來源。
首先你從 Table X 中找到了異常的欄位,然後定位到了它來源於 Table I,再從 Table I 定位到了它來源於 Table G, 再從 Table G 追溯到了 Table D,最終發現是某幾天的來源資料有異常。或者說,你從 Table X 定位到了異常的欄位原來來自於其它小夥伴處理的表 Table J,然後繼續向前回溯,找到了這張表在處理過程中的某一個步出現了問題。
上面的過程是資料血緣分析的過程。
到此,相信你已經大概明白血緣是啥了。
再囉嗦兩句,其實資料血緣並不難,只是概念比較高大上而已,實際我們測試的時候跟普通的 sql 操作差不多,只是用到的語法是 hive、sqoop、pig 等元件相對應的語法,不是常見的 sql 語法而已。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69942496/viewspace-2655508/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 資料血緣系列(1)—— 為什麼需要資料血緣?
- 資料血緣系列(3)—— 資料血緣視覺化之美視覺化
- 資料血緣系列(4)—— 資料血緣的特點與相關概念
- 什麼是大資料?大資料能做什麼?大資料
- 什麼是大資料?大資料開發是做什麼的?大資料
- 什麼是大資料?大資料
- 前瞻|Amundsen的資料血緣功能
- 到底什麼是大資料?新手學大資料的路徑是什麼?大資料
- 什麼是大資料安全?大資料
- 大資料分析是什麼大資料
- 什麼是大資料?Python和大資料有什麼聯絡?大資料Python
- 大資料是什麼?大資料的趨勢?大資料
- 什麼是大資料開發?大資料
- 大資料開發需要學習什麼?大資料平臺是什麼?大資料
- 什麼是大資料視覺化大資料視覺化
- 什麼是資料湖屋Lakehouse? -DZone大資料大資料
- 構建資料紐帶:全鏈路血緣
- 火山引擎DataLeap:「資料血緣」踩過哪些坑?
- Yelp 的 Spark 資料血緣建設實踐!Spark
- 大資料前景如何?大資料開發工程師是什麼?大資料工程師
- 大資料是什麼?IPIDEA解析大資料的基本概念大資料Idea
- 什麼是大資料?大資料的產生、特點、用途大資料
- 大資料能做什麼,為什麼學大資料大資料
- 什麼是大資料系統架構大資料架構
- 大資料開發是幹什麼的?大資料
- 大資料技術 - 為什麼是SQL大資料SQL
- 大資料具體是幹什麼的大資料
- 大資料技術的原理是什麼大資料
- 主機廠資料資產血緣分析治理實踐
- 一文詳解後設資料管理與資料血緣
- 什麼是大資料?與Python之間有什麼關聯?大資料Python
- 絕緣粒是幹什麼的
- 大資料分析平臺的目的是什麼大資料
- 什麼是大資料?大資料學習路線和就業方向大資料就業
- 火山引擎DataLeap資料血緣技術建設實踐
- 什麼是資料運營?資料運營是做什麼的?
- 什麼是資料監控?其4大意義又是什麼?
- 什麼是資料流?