什麼是大資料血緣?

2021-09-25 14:06:28 字數 1968 閱讀 6593

今天跟乙個測試同事聊天:

我:最近忙什麼專案呢?

他:在測大資料血緣

我:啥?

他:血緣啊

我:啥血緣?

他:大資料血緣啊

我:血緣是啥?

他:就是資料血緣啊

我:...

看看,天就是這麼被聊死的,我忍不住內心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 語法而已。

大資料 什麼是大資料

1.什麼是資料 資料是事實或觀察的結果,是對客觀事物的邏輯歸納,是用於表示客觀事物的未加工的原始材料。資料經過加工之後就成為資訊。2.大資料的定義 麥肯錫給出的大資料定義是 大資料是指大小超過常規的資料庫工具獲取 儲存 管理和分析能力的資料集。但它同時強調,並不是說一定要超過特定的tb值的資料才能是...

大資料 什麼是大資料?

海量的資料 tb pb zb。高增長率 資料的形成速度 使用爬蟲 多樣化 資料是結構化 非結構化 半結構化。電商行業 電商行業是最早利用大資料進行精準營銷,它根據客戶的消費習慣提前生產資料 物流管理等,有利於精細社會大生產。由於電商的資料較為集中,資料量足夠大,資料種類較多,因此未來電商資料應用將會...

大資料 什麼是大資料?

在網際網路技術發展到至今階段,大量日常,工作等事務產生的資料都已經資訊化,人類產生的資料量相比以前有了 式的增長,以前傳統的資料處理技術已經無法勝任,需求催生技術,一套用來處理海量資料的技術應運而生,這就是大資料技術。換個角度說,大資料是 有海量的資料 有海量的資料進行挖掘的需求,有對海量資料進行挖...