數(shù)據(jù)清洗與數(shù)據(jù)集成

前提概要

在數(shù)據(jù)爆炸的時(shí)代,我們每時(shí)每刻都在產(chǎn)生數(shù)據(jù)儒将;怎樣在海量數(shù)據(jù)中提煉出有價(jià)值的東西吏祸,這就需要我們有一雙火眼金晴;對(duì)于一個(gè)數(shù)據(jù)工作者來(lái)說(shuō)钩蚊,那就是對(duì)數(shù)據(jù)進(jìn)行清洗與集成贡翘。
具體的分為三步驟:

  • 數(shù)據(jù)抽取、轉(zhuǎn)換與裝載
  • 數(shù)據(jù)清洗
  • 數(shù)據(jù)集成
    下面我們將從這三個(gè)方面進(jìn)行分別講解砰逻。

數(shù)據(jù)抽取鸣驱、轉(zhuǎn)換與裝載

面向數(shù)據(jù)服務(wù)(或OLAP)應(yīng)用的數(shù)據(jù)庫(kù),一般不運(yùn)行特別復(fù)雜的數(shù)據(jù)分析任務(wù)蝠咆。為了對(duì)數(shù)據(jù)進(jìn)行分析踊东,我們從這些數(shù)據(jù)庫(kù)里抽取北滥、轉(zhuǎn)換和裝載(Extract, Transform and Load, ETL)數(shù)據(jù)到數(shù)據(jù)倉(cāng)庫(kù)中,進(jìn)而在它之上運(yùn)行復(fù)雜的分析負(fù)載闸翅,包括OLAP分析和數(shù)據(jù)挖掘再芋,從數(shù)據(jù)里挖掘模式和知識(shí),如下圖:

典型的數(shù)據(jù)倉(cāng)庫(kù)架構(gòu)

在這個(gè)過(guò)程中缎脾,如果從多個(gè)異構(gòu)的數(shù)據(jù)源ETL數(shù)據(jù)到數(shù)據(jù)倉(cāng)庫(kù)中祝闻,而且這些數(shù)據(jù)源存在各種異構(gòu)性及不致性,那么就需要對(duì)數(shù)據(jù)進(jìn)行集成遗菠。所以联喘,數(shù)據(jù)集成是從多個(gè)數(shù)據(jù)源建立統(tǒng)一的數(shù)據(jù)禝的一種技術(shù)。
在進(jìn)行ETL操作時(shí)辙纬,如果數(shù)據(jù)源的數(shù)據(jù)質(zhì)量較差豁遭,在進(jìn)行數(shù)據(jù)轉(zhuǎn)換時(shí),需要利用數(shù)據(jù)清洗技術(shù)贺拣,解決數(shù)據(jù)質(zhì)量問(wèn)題蓖谢。如果數(shù)據(jù)質(zhì)量得到保證,則無(wú)須數(shù)據(jù)請(qǐng)洗譬涡,數(shù)據(jù)的轉(zhuǎn)換操作就是比較簡(jiǎn)單的闪幽,比如進(jìn)行簡(jiǎn)單的規(guī)范化處理。

數(shù)據(jù)清洗

什么是數(shù)據(jù)清洗涡匀?

數(shù)據(jù)清洗是一種清除數(shù)據(jù)里面的錯(cuò)誤盯腌,去掉重復(fù)數(shù)據(jù)的技術(shù)。它可以集成在ETL過(guò)程中陨瘩,在從數(shù)據(jù)源建立數(shù)據(jù)倉(cāng)庫(kù)的過(guò)程中發(fā)揮作用腕够,也可以直接運(yùn)行在某個(gè)數(shù)據(jù)庫(kù)上,數(shù)據(jù)經(jīng)過(guò)清洗以后舌劳,最后還是保存到原來(lái)的數(shù)據(jù)庫(kù)里帚湘。

數(shù)據(jù)清洗的意義

基于準(zhǔn)確的數(shù)據(jù)(高質(zhì)量)進(jìn)行分析,才有可能得到可信的分析結(jié)果甚淡,基于這些結(jié)果才有可能做出正確的決策大诸,否則,在不準(zhǔn)確的數(shù)據(jù)上進(jìn)行分析贯卦,有可能導(dǎo)致錯(cuò)誤的認(rèn)識(shí)和決策底挫。據(jù)估計(jì),數(shù)據(jù)中的異常(Anomaly)和雜質(zhì)(Impurity)脸侥,一般占到數(shù)據(jù)總量的5%左右。


數(shù)據(jù)質(zhì)量的重要性

數(shù)據(jù)清洗往往和數(shù)據(jù)集成聯(lián)系在一起盈厘,當(dāng)從多個(gè)數(shù)據(jù)源進(jìn)行數(shù)據(jù)集成時(shí)睁枕,通過(guò)數(shù)據(jù)清洗技術(shù)、剔除數(shù)據(jù)中的錯(cuò)誤,以便獲得高質(zhì)量的數(shù)據(jù)外遇。

數(shù)據(jù)異常的不同類(lèi)型

數(shù)據(jù)清洗的目的是剔除數(shù)據(jù)中的異常注簿。數(shù)據(jù)中的異常可分為三類(lèi):語(yǔ)法類(lèi)異常(Syntactical),語(yǔ)義類(lèi)異常(Semantic),覆蓋類(lèi)異常(Coverage Anomaly)

  • 語(yǔ)法類(lèi)異常
    指的是表示實(shí)體的具體的數(shù)據(jù)值和格式的錯(cuò)誤跳仿。該類(lèi)異常具體可分為三種:
  1. 詞法錯(cuò)誤(Lexical Error)
    指的是實(shí)際數(shù)據(jù)的結(jié)構(gòu)和指定的結(jié)構(gòu)不一致诡渴。
    比如:在一張人員表中,每個(gè)實(shí)體有四個(gè)屬性菲语,分別是姓名妄辩、年齡、性別和身高山上,而某些記錄只有三個(gè)屬性眼耀,這就是語(yǔ)法異常。
  2. 值域格式錯(cuò)誤(Domain Format Error)
    指的是實(shí)體的某個(gè)屬性的取值不符合預(yù)期的值域中的某種格式佩憾。值域是數(shù)據(jù)的所有可能取值構(gòu)成的集合哮伟。
    比如:姓名是字符串類(lèi)型,在名和姓之間有一個(gè)“妄帘,”楞黄,那么“John,Smith”是正確的值抡驼,“John Smith”則不是正確的值鬼廓。
  3. 不規(guī)則的取值(Irregularity)
    指的是對(duì)取值、單位和簡(jiǎn)稱(chēng)的使用不統(tǒng)一婶恼,不規(guī)范桑阶。
    比如:?jiǎn)T工的工資字段有的用“元”作為單位,有的用“萬(wàn)元”作為單位勾邦。
  • 語(yǔ)義類(lèi)異常
    指數(shù)據(jù)不能全面蚣录、無(wú)重復(fù)地表示客觀世界的實(shí)體,該類(lèi)異常具體可分為四種:
  1. 違反完整性約束規(guī)則(Integrity Constraint Violation)眷篇。
    指一個(gè)元組或幾個(gè)元組不符合(實(shí)體完整性萎河、參照完整性和用戶(hù)自定義完整性)完整性約束規(guī)則。
    比如:我們規(guī)定中工工資字段必須大于0蕉饼,如果某個(gè)員工的工資小于0虐杯,就違反了完整性約束規(guī)則。
  2. 數(shù)據(jù)中出現(xiàn)矛盾(Contradiction)昧港。
    指的是一個(gè)元組的各個(gè)屬性取值擎椰,或者不同元組的各個(gè)屬性的取值違反這些取值的依賴(lài)關(guān)系。
    比如:我們的賬單表里的賬單金額為商品總金額減去折扣金額创肥,但在數(shù)據(jù)庫(kù)某個(gè)賬單的實(shí)付金額不等于商品總金額減去折扣金額达舒,這就矛盾了值朋。
  3. 數(shù)據(jù)的重復(fù)值(Duplicate)。
    指的是兩個(gè)或者兩個(gè)以上的元組表示同一個(gè)實(shí)體巩搏。
  4. 無(wú)效的元組(Invalid Tuple)昨登。
    指的是某些元組沒(méi)有表示客觀世界的有效實(shí)體。
    比如:?jiǎn)T工表中有一個(gè)員工贯底,名稱(chēng)叫“王超”丰辣,但是公司里并沒(méi)有這個(gè)人。
  • 覆蓋類(lèi)異常
  1. 值的缺失(Missing Value)禽捆。指的是在進(jìn)行數(shù)據(jù)采集時(shí)就沒(méi)有采集到相應(yīng)的數(shù)據(jù)笙什。
  2. 元組的缺失(Missing Tuple)。指的是在客觀世界中睦擂,存在某些實(shí)體得湘,但是并沒(méi)有在數(shù)據(jù)庫(kù)通過(guò)元組表示出來(lái)。
數(shù)據(jù)質(zhì)量

數(shù)據(jù)質(zhì)量是一個(gè)比較寬泛的概念顿仇,它包含很多方面淘正;關(guān)于數(shù)據(jù)質(zhì)量的評(píng)價(jià)標(biāo)準(zhǔn),可以組織成一個(gè)層次結(jié)構(gòu)臼闻,上層數(shù)據(jù)質(zhì)量標(biāo)準(zhǔn)的得分是其子標(biāo)準(zhǔn)得分的一個(gè)綜合加權(quán)得分鸿吆。

  1. 正確性。指數(shù)據(jù)集里所有正確的取值相對(duì)于所有取值的比例
    • 完整性(Integrity)述呐,可以再次分為:完備性和有效性惩淳;
    • 一致性(Consistency),可以再次分為:模式符合性和統(tǒng)一性乓搬;
    • 密度(Density),指的是所有元組里思犁,各個(gè)屬性上的缺失值占有應(yīng)該存在的所有屬性上的取值比例。
  2. 唯一性进肯。是指代表相同實(shí)體的重復(fù)元組占數(shù)據(jù)集里所有元組的比例激蹲。
數(shù)據(jù)清洗的任務(wù)和過(guò)程

數(shù)據(jù)清洗是剔除數(shù)據(jù)里的異常,使得數(shù)據(jù)集成為現(xiàn)實(shí)世界的準(zhǔn)確江掩、沒(méi)有重復(fù)的表示過(guò)程学辱。
數(shù)據(jù)清選的過(guò)程可以分為四個(gè)主要步驟:

    1. 數(shù)據(jù)審計(jì);
    1. 定義數(shù)據(jù)清洗工作流环形;
    1. 執(zhí)行數(shù)據(jù)清洗工作流策泣;
    1. 后續(xù)處理和控制;
數(shù)據(jù)清洗的具體方法
    1. 數(shù)據(jù)解析抬吟;
    1. 數(shù)據(jù)轉(zhuǎn)換萨咕;
    1. 實(shí)施完整性約束條件;
    1. 重復(fù)數(shù)據(jù)清除火本;
    1. 一些統(tǒng)計(jì)方法危队;

數(shù)據(jù)集成

什么是數(shù)據(jù)集成蓄喇?

在很多應(yīng)用場(chǎng)合,人們需要整合不同來(lái)源的數(shù)據(jù)交掏,才能獲取有效的分析結(jié)果,否則刃鳄,不完整的數(shù)據(jù)將導(dǎo)致分析結(jié)果不準(zhǔn)確盅弛。
數(shù)據(jù)集成是指把數(shù)據(jù)從多個(gè)數(shù)據(jù)源整合在一起,提供一個(gè)觀察這些數(shù)據(jù)的統(tǒng)一視圖的過(guò)程叔锐。

數(shù)據(jù)集成需要解決的問(wèn)題

數(shù)據(jù)集成要解決的首要問(wèn)題是各個(gè)數(shù)據(jù)源之間的異構(gòu)性(Heterogeneity)差異性挪鹏。
數(shù)據(jù)源之間的異構(gòu)性體現(xiàn)在以下各方面:

  • 數(shù)據(jù)管理系統(tǒng)的異構(gòu)性;
  • 通信協(xié)議異構(gòu)性愉烙;
  • 數(shù)據(jù)模式的異構(gòu)性讨盒;
  • 數(shù)據(jù)類(lèi)型的異構(gòu)性;
  • 取值的異構(gòu)性步责;
  • 語(yǔ)義異構(gòu)性返顺;
數(shù)據(jù)模式的異構(gòu)性
數(shù)據(jù)集成的模式

我們有三種基本的策略進(jìn)行數(shù)據(jù)的集成,分別是聯(lián)邦數(shù)據(jù)庫(kù)(Federated Database)蔓肯、數(shù)據(jù)倉(cāng)庫(kù)(Data Warehousing)遂鹊、中介者(Mediation)

1. 聯(lián)邦數(shù)據(jù)庫(kù)模式

聯(lián)邦數(shù)據(jù)庫(kù)是最簡(jiǎn)單的數(shù)據(jù)集成模式蔗包,它需要在每對(duì)數(shù)據(jù)源之間創(chuàng)建映射(Mapping)轉(zhuǎn)換(Transform)的軟件秉扑,該軟件稱(chēng)為包裝器(Wrapper)。當(dāng)數(shù)據(jù)源X需要和數(shù)據(jù)源Y進(jìn)行通信和數(shù)據(jù)集成時(shí)调限,才需要建立X和Y之間的包裝器舟陆。

聯(lián)邦數(shù)據(jù)庫(kù)

優(yōu)點(diǎn):如果我們有很多的數(shù)據(jù)源萧福,但是僅僅需要在少數(shù)幾個(gè)數(shù)據(jù)源之間進(jìn)行通信和集成腐芍,聯(lián)邦數(shù)據(jù)庫(kù)是最合算的一種模式;
缺點(diǎn):如果我們需要在很多的數(shù)據(jù)源之間進(jìn)行通信和數(shù)據(jù)交換赦抖,就需要建立大量的Wrapper;在n個(gè)數(shù)據(jù)源的情況下淘钟,最多需要建立(n(n-1))/2個(gè)Wrapper宦赠,這將是非常繁重的工作。如果有數(shù)據(jù)源變化米母,需要修改映射和轉(zhuǎn)換機(jī)制勾扭,對(duì)大量的Wrapper進(jìn)行更新,變得非常困難铁瞒。

2. 數(shù)據(jù)倉(cāng)庫(kù)模式

數(shù)據(jù)倉(cāng)庫(kù)是最通用的一種數(shù)據(jù)集成模式妙色,在數(shù)據(jù)倉(cāng)庫(kù)模式中,數(shù)據(jù)從各個(gè)數(shù)據(jù)源拷貝過(guò)來(lái)慧耍,經(jīng)過(guò)轉(zhuǎn)換身辨,然后存儲(chǔ)到一個(gè)目標(biāo)數(shù)據(jù)庫(kù)中丐谋。如下圖:


數(shù)據(jù)倉(cāng)庫(kù)

ETL:是 Extract, Transfrom, Load的縮寫(xiě),ETL過(guò)程在數(shù)據(jù)倉(cāng)庫(kù)之外完成煌珊,數(shù)據(jù)倉(cāng)庫(kù)負(fù)責(zé)存儲(chǔ)數(shù)據(jù)号俐,以備查詢(xún)。

  • 數(shù)據(jù)倉(cāng)庫(kù)模式下定庵,數(shù)據(jù)集成過(guò)程即是一個(gè)ETL過(guò)程吏饿,它需要解決各個(gè)數(shù)據(jù)源之間的異構(gòu)性,不一致性蔬浙。
  • 數(shù)據(jù)倉(cāng)庫(kù)模式下猪落,同樣的數(shù)據(jù)被復(fù)制了兩份:一份在數(shù)據(jù)源里;一份在數(shù)據(jù)倉(cāng)庫(kù)里畴博。如何及時(shí)更新數(shù)據(jù)倉(cāng)庫(kù)里的數(shù)據(jù)將是需要我考慮的問(wèn)題(全量更新笨忌、增量式更新)。
3. 中介者模式

數(shù)據(jù)集成的中介者模式俱病,如下圖:


中介者模式
  • 中介者(Mediator)扮演的是數(shù)據(jù)源的虛擬視圖(Virtual View)的角色官疲,中介者本身不保存作保數(shù)據(jù),數(shù)據(jù)仍然保存在數(shù)據(jù)源中庶艾。中介者維護(hù)一個(gè)虛擬的數(shù)據(jù)模式(Virtual Schema),它把各個(gè)數(shù)據(jù)源的數(shù)據(jù)模式組合起來(lái)袁余。
  • 數(shù)據(jù)映射和傳輸在查詢(xún)時(shí)刻(Query Time)才真正發(fā)生。
  • 當(dāng)用戶(hù)提交查詢(xún)時(shí)咱揍,查詢(xún)被轉(zhuǎn)換成對(duì)各個(gè)數(shù)據(jù)源的若干查詢(xún)颖榜。這些查詢(xún)分別發(fā)送到各個(gè)數(shù)據(jù)源,由各個(gè)數(shù)據(jù)源執(zhí)行這些查詢(xún)并返回結(jié)果煤裙。各個(gè)數(shù)據(jù)源返回的結(jié)果經(jīng)合并(Merge)后掩完,返回給最終用戶(hù)。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末硼砰,一起剝皮案震驚了整個(gè)濱河市且蓬,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌题翰,老刑警劉巖恶阴,帶你破解...
    沈念sama閱讀 207,113評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異豹障,居然都是意外死亡冯事,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門(mén)血公,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)昵仅,“玉大人,你說(shuō)我怎么就攤上這事∷ん裕” “怎么了够滑?”我有些...
    開(kāi)封第一講書(shū)人閱讀 153,340評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)吕世。 經(jīng)常有香客問(wèn)我彰触,道長(zhǎng),這世上最難降的妖魔是什么命辖? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,449評(píng)論 1 279
  • 正文 為了忘掉前任渴析,我火速辦了婚禮,結(jié)果婚禮上吮龄,老公的妹妹穿的比我還像新娘。我一直安慰自己咆疗,他們只是感情好漓帚,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著午磁,像睡著了一般尝抖。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上迅皇,一...
    開(kāi)封第一講書(shū)人閱讀 49,166評(píng)論 1 284
  • 那天昧辽,我揣著相機(jī)與錄音,去河邊找鬼登颓。 笑死搅荞,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的框咙。 我是一名探鬼主播咕痛,決...
    沈念sama閱讀 38,442評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼喇嘱!你這毒婦竟也來(lái)了茉贡?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,105評(píng)論 0 261
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤者铜,失蹤者是張志新(化名)和其女友劉穎腔丧,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體作烟,經(jīng)...
    沈念sama閱讀 43,601評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡愉粤,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了俗壹。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片科汗。...
    茶點(diǎn)故事閱讀 38,161評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖绷雏,靈堂內(nèi)的尸體忽然破棺而出头滔,到底是詐尸還是另有隱情怖亭,我是刑警寧澤,帶...
    沈念sama閱讀 33,792評(píng)論 4 323
  • 正文 年R本政府宣布坤检,位于F島的核電站兴猩,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏早歇。R本人自食惡果不足惜倾芝,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望箭跳。 院中可真熱鬧晨另,春花似錦、人聲如沸谱姓。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,352評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)屉来。三九已至路翻,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間茄靠,已是汗流浹背茂契。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,584評(píng)論 1 261
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留慨绳,地道東北人掉冶。 一個(gè)月前我還...
    沈念sama閱讀 45,618評(píng)論 2 355
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像脐雪,于是被迫代替她去往敵國(guó)和親郭蕉。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評(píng)論 2 344

推薦閱讀更多精彩內(nèi)容