亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

數(shù)據(jù)清洗方法和裝置與流程

文檔序號:11177238閱讀:377來源:國知局
數(shù)據(jù)清洗方法和裝置與流程

本發(fā)明涉及信息技術(shù),尤其涉及一種數(shù)據(jù)清洗方法和裝置。



背景技術(shù):

數(shù)據(jù)清洗是在數(shù)據(jù)產(chǎn)出后對數(shù)據(jù)進行重新審查和校驗的過程,目的在于識別出臟數(shù)據(jù)。因為數(shù)據(jù)倉庫中的數(shù)據(jù)是從多個業(yè)務(wù)系統(tǒng)中抽取而來,而且包含歷史數(shù)據(jù)和預測數(shù)據(jù)等多種類型,這樣就避免不了有的數(shù)據(jù)是錯誤數(shù)據(jù)、有的數(shù)據(jù)相互之間有沖突,這些錯誤的或有沖突的數(shù)據(jù)顯然是下一環(huán)節(jié)所不希望出現(xiàn)的,可以稱為臟數(shù)據(jù)。數(shù)據(jù)清洗就是要按照一定的清洗規(guī)則識別出這些臟數(shù)據(jù)。

現(xiàn)有技術(shù)中的數(shù)據(jù)清洗是在數(shù)據(jù)產(chǎn)出后,針對所有的數(shù)據(jù)遍歷全部的清洗規(guī)則進行清洗,該清洗規(guī)則是各業(yè)務(wù)間通用的,主要針對數(shù)據(jù)是否殘缺、數(shù)據(jù)格式是否有誤等方面進行清洗,顯然,這種方式僅能夠清洗出數(shù)據(jù)中的較為明顯的臟數(shù)據(jù),當臟數(shù)據(jù)為存在取值有誤等情況時,則無法清洗出該臟數(shù)據(jù),從而清洗后所獲得的干凈數(shù)據(jù)中仍存在有臟數(shù)據(jù),清洗效果較差。



技術(shù)實現(xiàn)要素:

本發(fā)明提供一種數(shù)據(jù)清洗方法和裝置,用于提高清洗效果。

為達到上述目的,本發(fā)明的實施例采用如下技術(shù)方案:

第一方面,提供了一種數(shù)據(jù)清洗方法,包括:

根據(jù)目標數(shù)據(jù)的數(shù)據(jù)特征匹配清洗規(guī)則;

利用匹配中的清洗規(guī)則對所述目標數(shù)據(jù)進行清洗。

第二方面,提供了一種數(shù)據(jù)清洗裝置,包括:

匹配模塊,用于根據(jù)目標數(shù)據(jù)的數(shù)據(jù)特征匹配清洗規(guī)則;

清洗模塊,用于利用匹配中的清洗規(guī)則對所述目標數(shù)據(jù)進行清洗。

本發(fā)明實施例提供的數(shù)據(jù)清洗方法和裝置,通過預先根據(jù)不同的數(shù)據(jù)特征,設(shè)置多種清洗規(guī)則,當需要對目標數(shù)據(jù)進行清洗時,根據(jù)目標數(shù)據(jù)的數(shù)據(jù)特征匹配清洗規(guī)則,繼而利用匹配中的清洗規(guī)則對該目標數(shù)據(jù)進行清洗,從而保證了清洗規(guī)則與數(shù)據(jù)特征相適應(yīng),能夠更加有針對性的對目標數(shù)據(jù)進行清洗,有效清洗出更多的臟數(shù)據(jù),同時也減少了將干凈數(shù)據(jù)誤識別為臟數(shù)據(jù)的概率,改善了清洗的效果。

上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點能夠更明顯易懂,以下特舉本發(fā)明的具體實施方式。

附圖說明

通過閱讀下文優(yōu)選實施方式的詳細描述,各種其他的優(yōu)點和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:

圖1為本發(fā)明實施例一提供的一種數(shù)據(jù)清洗方法的流程示意圖;

圖2為本發(fā)明實施例二提供的一種數(shù)據(jù)清洗方法的流程示意圖;

圖3為本發(fā)明實施例三提供的一種數(shù)據(jù)清洗裝置的結(jié)構(gòu)示意圖;

圖4為本發(fā)明實施例四提供的一種數(shù)據(jù)清洗裝置的結(jié)構(gòu)示意圖;

圖5為本發(fā)明實施例五提供的一種數(shù)據(jù)清洗裝置的結(jié)構(gòu)示意圖。

具體實施方式

下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應(yīng)當理解,可以以各種形式實現(xiàn)本公開而不應(yīng)被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達給本領(lǐng)域的技術(shù)人員。

下面結(jié)合附圖對本發(fā)明實施例提供的數(shù)據(jù)清洗方法和裝置進行詳細描述。

實施例一

圖1為本發(fā)明實施例一提供的一種數(shù)據(jù)清洗方法的流程示意圖,如圖1所示,包括:

步驟101、根據(jù)目標數(shù)據(jù)的數(shù)據(jù)特征匹配清洗規(guī)則。

其中,數(shù)據(jù)特征用于對目標數(shù)據(jù)進行描述。

具體的,可以從請求對目標數(shù)據(jù)進行清洗的請求端獲取到數(shù)據(jù)相關(guān)信息。例如:產(chǎn)生目標數(shù)據(jù)的原業(yè)務(wù)、目標數(shù)據(jù)所需用于的目標業(yè)務(wù)、原業(yè)務(wù)中產(chǎn)生目標數(shù)據(jù)的原計算任務(wù)和/或目標業(yè)務(wù)中目標數(shù)據(jù)所需用于的目標計算任務(wù)等數(shù)據(jù)相關(guān)信息。

將產(chǎn)生目標數(shù)據(jù)的原業(yè)務(wù)、目標數(shù)據(jù)所需用于的目標業(yè)務(wù)、原業(yè)務(wù)中產(chǎn)生目標數(shù)據(jù)的原計算任務(wù)和/或目標業(yè)務(wù)中目標數(shù)據(jù)所需用于的目標計算任務(wù)作為數(shù)據(jù)特征,采用數(shù)據(jù)特征匹配預設(shè)的清洗規(guī)則。

由于將與目標數(shù)據(jù)相關(guān)的任務(wù)和/或計算任務(wù)作為數(shù)據(jù)特征,能夠準確對目標數(shù)據(jù)進行描述,從而使得清洗規(guī)則與目標數(shù)據(jù)更加匹配,保證了清洗的效果。

步驟102、利用匹配中的清洗規(guī)則對目標數(shù)據(jù)進行清洗。

其中,清洗規(guī)則可以包括至少兩個清洗子規(guī)則。

作為一種可能的實現(xiàn)形式,各清洗子規(guī)則之間為串行關(guān)系。具體來說,可以按照匹配中的清洗子規(guī)則之間的層級順序,獲取上一層級清洗子規(guī)則清洗獲得的干凈數(shù)據(jù);讓后采用本層級清洗子規(guī)則對上一層級所清洗獲得的干凈數(shù)據(jù)進行清洗。

作為另一種可能的實現(xiàn)形式,各清洗子規(guī)則之間為并行關(guān)系。具體來說,各清洗子規(guī)則均遍歷目標數(shù)據(jù),針對目標數(shù)據(jù)中的每一條數(shù)據(jù)進行清洗。當一條數(shù)據(jù)被至少一個清洗子規(guī)則標記為臟數(shù)據(jù)時,則將該數(shù)據(jù)標記為目標數(shù)據(jù)的臟數(shù)據(jù);當一條數(shù)據(jù)被全部的清洗子規(guī)則標記為干凈數(shù)據(jù)時,則將該數(shù)據(jù)標記為目標數(shù)據(jù)的干凈數(shù)據(jù)。

可見,由于在第二種實現(xiàn)形式中,需要各清洗子規(guī)則均遍歷目標數(shù) 據(jù),因此,執(zhí)行時間較長,而第一種實現(xiàn)形式中,逐層清洗的方式僅對上一層獲得的干凈數(shù)據(jù)進行清洗,因而相較于第二種實現(xiàn)形式能夠減少運算量,同時節(jié)省執(zhí)行時間和運行資源。

另外,根據(jù)目標數(shù)據(jù)的數(shù)據(jù)特征匹配清洗規(guī)則之后,利用匹配中的清洗規(guī)則對該目標數(shù)據(jù)進行清洗,保證了清洗規(guī)則與數(shù)據(jù)特征相匹配,能夠更加有針對性的對目標數(shù)據(jù)進行清洗,有效清洗出更多的臟數(shù)據(jù),改善了清洗的效果。

實施例二

圖2為本發(fā)明實施例二提供的一種數(shù)據(jù)清洗方法的流程示意圖,如圖2所示,包括:

步驟201、對清洗規(guī)則進行配置。

具體的,可以預先對清洗規(guī)則進行配置,配置的過程可以由用戶手動完成,也可以由數(shù)據(jù)清洗平臺根據(jù)已存在的清洗規(guī)則自動生成。

作為一種可能的實現(xiàn)形式,清洗規(guī)則包括三個層級:分別為第一層級清洗子規(guī)則、第二層級清洗子規(guī)則和第三層級清洗子規(guī)則。下面分別對三個層級進行說明:

a、第一層級清洗子規(guī)則,由各業(yè)務(wù)通用的規(guī)則構(gòu)成,主要用于識別出殘缺、重復和明顯錯誤的臟數(shù)據(jù)。

例如,第一層級清洗子規(guī)則可以包括:數(shù)據(jù)中某個字段不能為空、數(shù)據(jù)已經(jīng)完結(jié)態(tài)但是沒有完結(jié)時間、數(shù)據(jù)產(chǎn)生時間在民國前、判斷a字段加b字段是否等于c字段、某日期字段數(shù)據(jù)存儲格式有誤等。

b、第二層級清洗子規(guī)則,由針對業(yè)務(wù)的規(guī)則構(gòu)成,主要用于識別出不同業(yè)務(wù)所特有的臟數(shù)據(jù)。

例如,以報警監(jiān)控系統(tǒng)為例,報警監(jiān)控系統(tǒng)接入的業(yè)務(wù)方是確定的,如接入了元數(shù)據(jù)中心meta、交易系統(tǒng)pay、離線數(shù)據(jù)處理中心datax,則報警監(jiān)控系統(tǒng)產(chǎn)出的數(shù)據(jù)中,調(diào)用方字段的取值只能屬于三種枚舉值,一旦出現(xiàn)其他的調(diào)用方,數(shù)據(jù)應(yīng)該被清洗出來。

第二級清洗規(guī)則不僅可以針對不同業(yè)務(wù)設(shè)置清洗規(guī)則,還可以進一 步,設(shè)置根據(jù)該業(yè)務(wù)的歷史數(shù)據(jù)進行清洗的清洗規(guī)則。

例如:計算業(yè)務(wù)數(shù)據(jù)中的特定字段相對歷史數(shù)據(jù)的波動范圍是否超出預設(shè)閾值,若超出,則作為臟數(shù)據(jù)。

c、第三級清洗子規(guī)則,可供用戶自定義使用。

前兩個層級的清洗子規(guī)則是預置在數(shù)據(jù)清洗平臺中的,第三級清洗子規(guī)則可以基于數(shù)據(jù)清洗平臺所設(shè)置的接口,從用戶端獲取該第三層級清洗子規(guī)則,從而實現(xiàn)用戶自定義設(shè)置清洗規(guī)則。

作為一種可能的應(yīng)用場景,高德業(yè)務(wù)方可以采用用戶端定義清洗規(guī)則。例如:連續(xù)軌跡中,以數(shù)據(jù)起點為圓心,某一長度為半徑,確定一個圓,具體半徑取值可以參照數(shù)據(jù)產(chǎn)生的快慢,如果用戶是走路,則正常速度不會超過2m/s,折算到平面地圖比例即可。識別落在圓外的數(shù)據(jù),如果是個別則忽略,若連續(xù)超過預設(shè)數(shù)目條的數(shù)據(jù)均落在圓外,則視這些落在圓外的數(shù)據(jù)為臟數(shù)據(jù)。這是由于,基于移動速度可以判斷出用戶不可能在這個時間段內(nèi)處于數(shù)據(jù)所指示的位置,因而確定數(shù)據(jù)為臟數(shù)據(jù)。

第三層級清洗子規(guī)則相似與第二層級清洗子規(guī)則,同樣可以是基于歷史數(shù)據(jù)進行數(shù)據(jù)清洗。例如:根據(jù)歷史數(shù)據(jù)確定出某用戶周末去了某商場,那么推薦商品信息的數(shù)據(jù)中將衣服和美食相關(guān)數(shù)據(jù)作為干凈數(shù)據(jù),而將健身和郊游相關(guān)數(shù)據(jù)作為臟數(shù)據(jù)。

步驟202、接收用于請求對目標數(shù)據(jù)進行數(shù)據(jù)清洗的消息,查詢是否存在與請求中所指示的目標數(shù)據(jù)的數(shù)據(jù)特征匹配的清洗規(guī)則,若存在則執(zhí)行步驟203-205,否則執(zhí)行步驟206。

其中,該消息中可以攜帶有目標數(shù)據(jù)的基本信息:目標數(shù)據(jù)所存儲在的分區(qū)和表名。

具體的,在接收到消息之后,首先提取目標數(shù)據(jù)的數(shù)據(jù)特征,然后根據(jù)所提取的數(shù)據(jù)特征匹配清洗規(guī)則。作為一種可能的實現(xiàn)形式,消息中還可以攜帶有產(chǎn)生目標數(shù)據(jù)的原業(yè)務(wù)的標識。作為另一種可能的實現(xiàn)形式,根據(jù)目標數(shù)據(jù)當前所在位置確定產(chǎn)生該目標數(shù)據(jù)的原業(yè)務(wù)。

步驟203、若存在,對匹配中的清洗規(guī)則進行解析,獲得采樣規(guī)則和各層級清洗子規(guī)則。

若確定存在與目標數(shù)據(jù)的數(shù)據(jù)特征匹配的清洗規(guī)則,則對該目標匹配中的清洗規(guī)則進行解析,獲得采樣規(guī)則和各層級清洗子規(guī)則。其中,采樣規(guī)則指示了所需進行采樣的字段。這里所說的需要進行采樣的字段是根據(jù)各層級清洗子規(guī)則中涉及到的歷史數(shù)據(jù)中的字段進行設(shè)置的。

步驟204、根據(jù)采樣規(guī)則對目標數(shù)據(jù)進行采樣,獲得歷史數(shù)據(jù)。

根據(jù)解析所獲得的采樣規(guī)則對目標數(shù)據(jù)進行采樣,將采樣所獲得的樣本值持久化到數(shù)據(jù)庫中作為歷史數(shù)據(jù),以便下一次進行數(shù)據(jù)清洗過程中使用。

由于有些臟數(shù)據(jù)是需要基于歷史數(shù)據(jù)進行判別的,例如:當基于數(shù)據(jù)的波動性進行判別是,需要將數(shù)據(jù)與歷史數(shù)據(jù)的平均值進行比較,從而確定兩者之差是否高于閾值。因此,需要維護一個用于記錄歷史數(shù)據(jù)的數(shù)據(jù)庫,便于采用涉及歷史數(shù)據(jù)的清洗規(guī)則進行數(shù)據(jù)清洗。

步驟205、按照各層級清洗子規(guī)則之間的層級順序,依次采用各層級清洗子規(guī)則對目標數(shù)據(jù)進行清洗。

目標數(shù)據(jù)先經(jīng)過本層級清洗子規(guī)則進行清洗,由下一層級清洗子規(guī)則對本層級清洗所獲得的干凈數(shù)據(jù)進行清洗,也就是說,各級清洗是串行執(zhí)行的,上一層級的清洗結(jié)果作為下一層級的輸入,經(jīng)過最后一層級清洗獲得干凈數(shù)據(jù),將各層級清洗所識別出的數(shù)據(jù)進行匯總獲得臟數(shù)據(jù)。

對干凈數(shù)據(jù)正常存儲,例如存儲于表a,不符合清洗規(guī)則的臟數(shù)據(jù)分離存儲,例如存儲于表a_dirty,從而方便后期針對臟數(shù)據(jù)進行分析。

步驟206、若不存在,則結(jié)束流程。

實施例三

圖3為本發(fā)明實施例三提供的一種數(shù)據(jù)清洗裝置的結(jié)構(gòu)示意圖,如圖3所示,包括:匹配模塊31和清洗模塊32。

匹配模塊31,用于根據(jù)目標數(shù)據(jù)的數(shù)據(jù)特征匹配清洗規(guī)則。

清洗模塊32,用于利用匹配中的清洗規(guī)則對所述目標數(shù)據(jù)進行清洗。

本實施例中,通過根據(jù)目標數(shù)據(jù)的數(shù)據(jù)特征匹配清洗規(guī)則之后,利用匹配中的清洗規(guī)則對該目標數(shù)據(jù)進行清洗,從而保證了清洗規(guī)則與數(shù) 據(jù)特征相匹配,能夠更加有針對性的對目標數(shù)據(jù)進行清洗,有效清洗出更多的臟數(shù)據(jù),改善了清洗的效果。

實施例四

圖4為本發(fā)明實施例四提供的一種數(shù)據(jù)清洗裝置的結(jié)構(gòu)示意圖,在圖3所提供的數(shù)據(jù)清洗裝置的基礎(chǔ)上,本實施例中,清洗模塊32進一步包括:歷史數(shù)據(jù)單元321和數(shù)據(jù)清洗單元322。

歷史數(shù)據(jù)單元321,用于獲取所述匹配中的清洗規(guī)則所涉及的歷史數(shù)據(jù)。

數(shù)據(jù)清洗單元322,用于依據(jù)所述歷史數(shù)據(jù),采用所匹配中的清洗規(guī)則對所述目標數(shù)據(jù)進行清洗。

進一步,數(shù)據(jù)清洗裝置,還包括:提取模塊33和歷史數(shù)據(jù)生成模塊34。

提取模塊33,用于當確定存在匹配中的清洗規(guī)則時,根據(jù)所述匹配中的清洗規(guī)則所涉及的字段,從所述目標數(shù)據(jù)中提取所述字段的取值。

歷史數(shù)據(jù)生成模塊34,用于將所提取到的字段的取值,作為下一次清洗所需的歷史數(shù)據(jù)。

由于有些臟數(shù)據(jù)是需要基于歷史數(shù)據(jù)進行判別的,例如:當基于數(shù)據(jù)的波動性進行判別是,需要將數(shù)據(jù)與歷史數(shù)據(jù)的平均值進行比較,從而確定兩者之差是否高于閾值。因此,需要維護一個用于記錄歷史數(shù)據(jù)的數(shù)據(jù)庫,便于采用涉及歷史數(shù)據(jù)的清洗規(guī)則進行數(shù)據(jù)清洗。

實施例五

圖5為本發(fā)明實施例五提供的一種數(shù)據(jù)清洗裝置的結(jié)構(gòu)示意圖,在圖3所提供的數(shù)據(jù)清洗裝置的基礎(chǔ)上,本實施例中,匹配模塊31進一步包括:獲取單元311和匹配單元312。

獲取單元311,用于將產(chǎn)生所述目標數(shù)據(jù)的原業(yè)務(wù)、所述目標數(shù)據(jù)所需用于的目標業(yè)務(wù)、所述原業(yè)務(wù)中產(chǎn)生所述目標數(shù)據(jù)的原計算任務(wù)和/或所述目標業(yè)務(wù)中所述目標數(shù)據(jù)所需用于的目標計算任務(wù)作為所述數(shù)據(jù)特 征。

匹配單元312,用于采用所述數(shù)據(jù)特征匹配預設(shè)的清洗規(guī)則。

進一步,清洗規(guī)則包括至少兩個清洗子規(guī)則,則清洗模塊32,包括:輸入單元323和清洗單元324。

輸入單元323,用于按照所述匹配中的清洗子規(guī)則之間的層級順序,獲取上一層級清洗子規(guī)則清洗獲得的干凈數(shù)據(jù)。

清洗單元324,用于采用本層級清洗子規(guī)則對所述干凈數(shù)據(jù)進行清洗。

逐層清洗的方式僅對上一層獲得的干凈數(shù)據(jù)進行清洗,因而相較于第二種實現(xiàn)形式能夠節(jié)省執(zhí)行時間,同時減少了運算量,節(jié)省了運行資源。

進一步,數(shù)據(jù)清洗裝置還包括:生成模塊35。

生成模塊35,用于針對各業(yè)務(wù)和/或計算任務(wù)生成所述清洗規(guī)則。

若清洗規(guī)則包括三個清洗子規(guī)則,則生成模塊35,包括:第一生成單元351、第二生成單元352和第三生成單元353。

第一生成單元351,用于將各業(yè)務(wù)通用的規(guī)則作為第一層級清洗子規(guī)則。

第二生成單元352,用于將針對業(yè)務(wù)和/或計算任務(wù)設(shè)置的規(guī)則作為第二層級清洗子規(guī)則。

第三生成單元353,用于將用戶自定義規(guī)則作為第三層級清洗子規(guī)則。

本實施例中,通過預先根據(jù)不同的數(shù)據(jù)特征,設(shè)置多種清洗規(guī)則,當需要對目標數(shù)據(jù)進行清洗時,根據(jù)目標數(shù)據(jù)的數(shù)據(jù)特征匹配清洗規(guī)則,繼而利用匹配中的清洗規(guī)則對該目標數(shù)據(jù)進行清洗,從而保證了清洗規(guī)則與數(shù)據(jù)特征相適應(yīng),能夠更加有針對性的對目標數(shù)據(jù)進行清洗,有效清洗出更多的臟數(shù)據(jù),同時也減少了將干凈數(shù)據(jù)誤識別為臟數(shù)據(jù)的概率,改善了清洗的效果。另外,逐層清洗的方式僅對上一層獲得的干凈數(shù)據(jù)進行清洗,因而能夠減少運算量,同時節(jié)省執(zhí)行時間和運行資源。

本領(lǐng)域普通技術(shù)人員可以理解:實現(xiàn)上述各方法實施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成。前述的程序可以存儲于一計算機可讀取存儲介質(zhì)中。該程序在執(zhí)行時,執(zhí)行包括上 述各方法實施例的步驟;而前述的存儲介質(zhì)包括:rom、ram、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。

最后應(yīng)說明的是:以上各實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述各實施例對本發(fā)明進行了詳細的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當理解:其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分或者全部技術(shù)特征進行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的范圍。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1