更新時間:2022年06月28日14時00分 來源:傳智教育 瀏覽次數(shù):
基于數(shù)據(jù)源的“臟”數(shù)據(jù)分類方法需要為每種類型的“臟”數(shù)據(jù)設(shè)計單獨的清洗方式。從數(shù)據(jù)清洗方式的設(shè)計者角度看,可以將“臟”數(shù)據(jù)分為“獨立型“臟”數(shù)據(jù)”和“依賴型“臟”數(shù)據(jù)”兩類?;谇逑捶绞降?ldquo;臟”數(shù)據(jù)分類如圖下所示。
基于清洗方式的“臟”數(shù)據(jù)分類
從圖1-2中可以看出,獨立型“臟”數(shù)據(jù)包括單數(shù)據(jù)源和多數(shù)據(jù)源所有模式層及大多數(shù)實例層的數(shù)據(jù)質(zhì)量問題;依賴型“臟”數(shù)據(jù)包括缺失數(shù)據(jù)和重復(fù)數(shù)據(jù)等“臟”數(shù)據(jù)。下面對獨立型“臟”數(shù)據(jù)和依賴型“臟”數(shù)據(jù)進(jìn)行詳細(xì)講解。
獨立型“臟”數(shù)據(jù)可通過記錄或本身屬性檢驗出是否包含“臟”數(shù)據(jù),不需要依賴其他記錄或?qū)傩詸z測。獨立型“臟”數(shù)據(jù)使用“數(shù)據(jù)合法性檢驗規(guī)則”檢測數(shù)據(jù)字段的實際內(nèi)容,若屬性值不符合規(guī)則,則視為“臟”數(shù)據(jù),此時可調(diào)用已定義的相關(guān)清洗方式,將其變?yōu)闈M足規(guī)則的數(shù)據(jù),從而可以保證數(shù)據(jù)的合法性。
合法性檢驗是判斷數(shù)據(jù)是否符合給定標(biāo)準(zhǔn)的過程,判斷標(biāo)準(zhǔn)是用戶根據(jù)業(yè)務(wù)需要定義的一些檢驗規(guī)則,該規(guī)則主要檢驗的是數(shù)據(jù)的格式、數(shù)據(jù)的范圍、數(shù)據(jù)的枚舉清單以及數(shù)據(jù)的相關(guān)性等方面,具體介紹如下。
·數(shù)據(jù)的格式主要是檢驗記錄的某個字段或字段組中的數(shù)據(jù)是否符合規(guī)范格式,這是針對模式層的“臟”數(shù)據(jù)進(jìn)行檢驗。
·數(shù)據(jù)的范圍主要是檢查記錄的字段數(shù)據(jù)是否在預(yù)期的范圍內(nèi),常用于檢驗數(shù)字和有效值。
·數(shù)據(jù)的枚舉清單主要是參照某個已定義的清單檢驗字段的值。
·數(shù)據(jù)的相關(guān)性主要通過主鍵和外鍵的關(guān)系實現(xiàn)。
綜上所述,數(shù)據(jù)的合法性檢驗是一個非常耗時的環(huán)節(jié),但也是一個必不可少的環(huán)節(jié),因此,該環(huán)節(jié)應(yīng)高度自動化。在設(shè)計清洗程序時,應(yīng)該內(nèi)置較多的檢驗函數(shù)和環(huán)節(jié),這樣可以減少用戶定制數(shù)據(jù)合法性檢驗規(guī)則的工作量。
數(shù)據(jù)轉(zhuǎn)換是將“臟”數(shù)據(jù)進(jìn)行清洗的過程,包括模式轉(zhuǎn)換和實例轉(zhuǎn)換。其中,模式轉(zhuǎn)換用來解決模式層“臟”數(shù)據(jù)的問題,通過在元數(shù)據(jù)庫中定義表字段的映射規(guī)則、字段拆分規(guī)則以及字段值合并規(guī)則等協(xié)調(diào)數(shù)據(jù)模式之間的差異,從而實現(xiàn)數(shù)據(jù)的清洗;實例轉(zhuǎn)換是根據(jù)源數(shù)據(jù)字段的實際內(nèi)容,結(jié)合一定的領(lǐng)域知識解決拼寫錯誤、輸人錯誤、不同的計量單位及過時的編碼等實例層“臟”數(shù)據(jù)問題。
依賴型“臟”數(shù)據(jù)主要包括缺失數(shù)據(jù)和重復(fù)數(shù)據(jù)等“臟”數(shù)據(jù)。由于需要綜合考慮與其他記錄間的關(guān)聯(lián),依賴型“臟”數(shù)據(jù)的處理很難有通用的方法。一般地,針對特定類型的“臟”數(shù)據(jù)設(shè)計特定的清洗方式。
缺失數(shù)據(jù)主要包括數(shù)據(jù)空值和數(shù)據(jù)異常,具體介紹如下。
數(shù)據(jù)空值一共有兩種情況,即缺失值和空值。其中,缺失值是指值實際存在,但沒有存入值所屬字段中,如成年人都有身份證,若某個成年人的身份證號屬性值為空,就屬于缺失值;空值是指因?qū)嶋H并不存在而空缺的值,如動物沒有身份證,因此它們的身份證號屬性為空。
數(shù)據(jù)異常指的是用統(tǒng)計分析的方法識別出異常值。計算某個字段的平均值、眾數(shù)、中位數(shù)以及最大值、最小值等,可根據(jù)這些統(tǒng)計的值和相關(guān)的規(guī)則發(fā)現(xiàn)數(shù)據(jù)中的異常。
重復(fù)數(shù)據(jù)是指一個現(xiàn)實實體在數(shù)據(jù)集合中以多個不完全相同的記錄表示。檢測重復(fù)數(shù)據(jù)的方法有很多,例如基本的字段匹配、遞歸的字段匹配、Smith-Waterman算法以及基于編輯距離的字段匹配等方法。