任務(wù)4.1重復(fù)值處理_第1頁
任務(wù)4.1重復(fù)值處理_第2頁
任務(wù)4.1重復(fù)值處理_第3頁
任務(wù)4.1重復(fù)值處理_第4頁
任務(wù)4.1重復(fù)值處理_第5頁
已閱讀5頁,還剩27頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

ETL數(shù)據(jù)預(yù)處理技術(shù)主講人:李靜任務(wù)四數(shù)據(jù)清洗4.1重復(fù)值處理重復(fù)值在實際的數(shù)據(jù)處理中,由于輸入錯誤、數(shù)據(jù)同步或者數(shù)據(jù)傳輸?shù)仍蚩赡軙斐蓴?shù)據(jù)集中出現(xiàn)一條數(shù)據(jù)多次出現(xiàn)的情況,這樣會造成數(shù)據(jù)冗余的問題。01.重復(fù)值的概念02.03.目錄重復(fù)值檢測Kettle處理重復(fù)值CONTENTS子任務(wù)4.1.1重復(fù)值概念重復(fù)值冗余數(shù)據(jù)既包含重復(fù)的數(shù)據(jù),也包含對分析處理的問題無關(guān)的數(shù)據(jù),通常采用過濾數(shù)據(jù)的方法處理冗余數(shù)據(jù)。例如,對于重復(fù)數(shù)據(jù)采用重復(fù)過濾的方法,對于無關(guān)的數(shù)據(jù)則采用條件過濾的方法。重復(fù)值為什么出現(xiàn)重復(fù)數(shù)據(jù)為什么出現(xiàn)重復(fù)數(shù)據(jù)為什么出現(xiàn)重復(fù)數(shù)據(jù)子任務(wù)4.1.2重復(fù)值檢測1.通過唯一標(biāo)識列篩選重復(fù)數(shù)據(jù):唯一標(biāo)識列是數(shù)據(jù)集中的一個列,其中的值在整個數(shù)據(jù)集中都是唯一的。以下是使用唯一標(biāo)識列篩選重復(fù)數(shù)據(jù)的步驟:首先,確定數(shù)據(jù)集中的唯一標(biāo)識列,例如ID列或唯一編碼列。

使用數(shù)據(jù)處理工具或編程語言,比如Excel、SQL或Python,對數(shù)據(jù)集進行排序,以便相同的記錄排在一起。

遍歷數(shù)據(jù)集,比較當(dāng)前記錄的唯一標(biāo)識列值與前一個記錄的唯一標(biāo)識列值是否相等。如果相等,則表示當(dāng)前記錄是重復(fù)數(shù)據(jù)。可以選擇保留第一個出現(xiàn)的記錄,或者刪除所有重復(fù)數(shù)據(jù),只保留唯一的記錄2.基于多列篩選重復(fù)數(shù)據(jù):除了唯一標(biāo)識列,還可以根據(jù)多個列的組合來篩選重復(fù)數(shù)據(jù)。這種方法更加靈活,可以根據(jù)特定的需求進行篩選。以下是基于多列篩選重復(fù)數(shù)據(jù)的步驟:

確定需要用來篩選重復(fù)數(shù)據(jù)的多個列。

將這些列按照一定的順序進行排序,確保相同的記錄排在一起。遍歷數(shù)據(jù)集,比較當(dāng)前記錄的多個列的值與前一個記錄的對應(yīng)列的值是否相等。如果相等,則表示當(dāng)前記錄是重復(fù)數(shù)據(jù)。根據(jù)需求選擇保留第一個出現(xiàn)的記錄,或者刪除所有重復(fù)數(shù)據(jù),只保留唯一的記錄。3.使用數(shù)據(jù)處理工具和函數(shù):現(xiàn)代數(shù)據(jù)處理工具和編程語言通常提供了方便的函數(shù)和工具來篩選重復(fù)數(shù)據(jù)。例如,Excel中的“刪除重復(fù)項”功能、SQL中的“SELECTDISTINCT”語句以及Python中的pandas庫中的“drop_duplicates”函數(shù)、kettle中的“唯一行(哈希值)”等。以下是使用這些工具和函數(shù)篩選重復(fù)數(shù)據(jù)的步驟:

打開數(shù)據(jù)處理工具或編程環(huán)境,導(dǎo)入數(shù)據(jù)集。

查找并使用相應(yīng)的工具或函數(shù)來篩選重復(fù)數(shù)據(jù)。根據(jù)需要選擇保留或刪除重復(fù)數(shù)據(jù),并將結(jié)果保存到新的數(shù)據(jù)集中或覆蓋原始數(shù)據(jù)集。子任務(wù)4.1.3用kettle處理重復(fù)數(shù)據(jù)現(xiàn)有“客戶.csv”

如右圖,其中有的數(shù)據(jù)重復(fù)出現(xiàn),使用kettle進行處理,只保留一條即可。案例背景步驟1:創(chuàng)建轉(zhuǎn)換拖動“CSV文件輸入”控件及“唯一行(哈希值)”控件到右側(cè)工作區(qū),如下圖:步驟2:設(shè)置“CSV文件輸入”雙擊“CSV文件輸入”圖標(biāo),進入該對話框,進行如下右圖所示配置,添加文件“客戶.csv”,點擊“獲取字段”,得到文件中的字段設(shè)置情況,如下右圖:步驟3:預(yù)覽輸入數(shù)據(jù)單擊“預(yù)覽”按鈕,查看csv文件是否已經(jīng)導(dǎo)入步驟4:設(shè)置“唯一行(哈希值)”雙擊“唯一行(哈希值)”圖標(biāo),單擊“獲取”按鈕,添加需要去重的字段,如下圖,單擊“確定”配置完成。步驟5:運行轉(zhuǎn)換,查看結(jié)果Kettle中提供一個“去除重復(fù)記錄”的控件,也可用完成重復(fù)值處理,簡單介紹如下:在上圖的轉(zhuǎn)換中,增加了“排序記錄”控件,其作用相當(dāng)于檢測重復(fù)記錄,然后在“去除重復(fù)記錄”中設(shè)置關(guān)鍵比較字段即可。實際應(yīng)用中,重復(fù)值的含義也需根據(jù)需求而定,有的數(shù)據(jù)其中的幾個屬性值相同也可認定為重復(fù)值,對這樣的數(shù)據(jù)的處理稱為“不完全去重”現(xiàn)有”people.txt”文件,內(nèi)容如下,利用kettle將其中缺失的記錄去掉步驟1:創(chuàng)建轉(zhuǎn)換創(chuàng)建轉(zhuǎn)換如下,將滿足要求的內(nèi)容和需要去除的內(nèi)容分別存放于文本文件中步驟2:配置“文本文件輸入”步驟2:配置“文本文件輸入”切換“內(nèi)容”選項卡,在“分隔符”處刪除默認的分號,點擊“insertTAB”插入制表符,取消“頭部”勾選,如下圖:步驟2:配置“文本文件輸入”切換“字段”選項卡,添加字段名,并設(shè)置字段類型,務(wù)必添加“不去掉空格”,然后點擊預(yù)覽,查看是否導(dǎo)入數(shù)據(jù),如右圖:步驟3:配置“唯一行(哈希值)”設(shè)置“唯一行(哈希值)”控件,輸入需要比較的字段(不是全部)如下圖:步驟4:配置“文本文件輸出”配置“文本文件輸出”控件,用來存放滿足要求的記錄,點擊“瀏覽”確定文件路徑及名稱步驟4:配置“文本文件輸出”分別切換到“內(nèi)容”和“字段選項卡”,設(shè)置如下:說明:“文本文件輸出2”配置與此相同步驟5:運行轉(zhuǎn)換查看結(jié)果如下:小結(jié)它指的是現(xiàn)有數(shù)據(jù)集中數(shù)據(jù)其屬性完全或部分相同

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論