通過異常檢測確保數(shù)據(jù)完整性是數(shù)據(jù)工程師需要掌握的基本工具
當前最有趨勢的機器學習和人工智能在不知疲倦地創(chuàng)新,為客戶提供最先進的解決方案。然而,在這一快速演變過程中,確保一個以高質量和完整性為特征的穩(wěn)健數(shù)據(jù)宇宙是不可或缺的。雖然人們經常把重點放在改進人工智能模型上,但原始數(shù)據(jù)集的重要性有時會被掩蓋。
本文旨在探討各組織在數(shù)據(jù)工程領域所需的一些基本工具,以有效改進數(shù)據(jù)質量并對數(shù)據(jù)進行分類/分析,用于有效的以業(yè)務為中心的機器學習分析、報告和異常檢測。為了說明這些工具/框架及其重要性,讓我們考慮在金融技術產業(yè)中的一種情景。
假設情況
想象一個客戶支持團隊依靠一個客戶推薦平臺來獲得銷售或營銷領導權。這些代表通過電話與客戶接觸,討論各種優(yōu)惠和方案。最近,他們遇到了這樣的情況,推薦的電話號碼導致不準確的客戶信息,沒有明顯的模式。這一挑戰(zhàn)不僅突出了數(shù)據(jù)完整性的重要性,而且突出了數(shù)據(jù)工程師的重要角色 解決這些問題。作為數(shù)據(jù)宇宙的管理者,主要是數(shù)據(jù)工程團隊負責通過與銷售團隊密切合作來應對這些挑戰(zhàn)。
請參閱下圖,其中銷售團隊與客戶合作以確保準確的數(shù)據(jù),左側表示數(shù)據(jù)工程流程,其中數(shù)據(jù)來自各種系統(tǒng),包括文件系統(tǒng)、API和數(shù)據(jù)庫。數(shù)據(jù)工程師建立和管理復雜的管道和工作流程,將這些數(shù)據(jù)合并為客戶支持團隊使用的最后數(shù)據(jù)集。由于企業(yè)組織中管道的復雜性和數(shù)量,確定數(shù)據(jù)來源問題變得具有挑戰(zhàn)性。因此,簡單的問題比如,"我們從哪里獲取這些數(shù)據(jù)?"和"數(shù)據(jù)流中有什么中斷?"鑒于企業(yè)組織可以維護數(shù)百條管道,這將成為數(shù)據(jù)工程師面臨的嚴峻挑戰(zhàn)。
工具
為了應對這一挑戰(zhàn),數(shù)據(jù)工程師需要強有力的工具/框架,以便及時應對簡單的客戶支持詢問,了解最重要的領導層的見解。這些工具應該提供快速分類數(shù)據(jù)流的能力,很容易地在流的每個層上見證數(shù)據(jù)值,并主動驗證數(shù)據(jù)以防止出現(xiàn)問題。在基本層面上,下面三個工具/框架將為應對這一挑戰(zhàn)增加許多價值。
數(shù)據(jù)血統(tǒng)
一個工具捕捉數(shù)據(jù)流從其來源通過各種轉換,最后到其目的地。它提供了一個清晰的地圖,說明數(shù)據(jù)來自哪里,如何處理它,以及它走向哪里,幫助數(shù)據(jù)工程師快速識別構建的數(shù)據(jù)的血統(tǒng)。
數(shù)據(jù)觀察員
數(shù)據(jù)監(jiān)控工具使工程師能夠在管道的不同階段實時監(jiān)控數(shù)據(jù)值。它提供了對數(shù)據(jù)值、與之相關的潛在異常及其趨勢的深入了解,從而能夠對任何違規(guī)行為及時做出反應,甚至授權企業(yè)參與篩選。
數(shù)據(jù)驗證器
數(shù)據(jù)驗證工具檢查管道中的各個點的數(shù)據(jù),以確保它符合預定的標準和規(guī)則。這種主動驗證有助于在數(shù)據(jù)問題通過系統(tǒng)傳播之前捕捉和糾正這些問題。
更深入地潛入每個工具
為了更深入地研究這些工具中每個工具的概念,我們將考慮一個定義了工作流的數(shù)據(jù)結構。在本例中,我們有一個客戶實體表示為一個表,其中的屬性來自一個文件系統(tǒng)和一個API。
來自?數(shù)據(jù)流程圖 注意,工作流程如下,
為了簡化,可以考慮一個場景customer_type A 電話號碼是通過API獲得的,而地址詳細信息則來自于一個文件系統(tǒng)。為了再次強調原來的挑戰(zhàn),電話號碼在最終的客戶支持平臺上丟失了。從數(shù)據(jù)分類的角度來看,數(shù)據(jù)工程師需要在眾多數(shù)據(jù)管道和數(shù)據(jù)表中追蹤電話號碼的來源,首先找到這個電話號碼屬性的來源,并了解它的血統(tǒng)。
數(shù)據(jù)血統(tǒng)
在某一特定時間點的任何數(shù)據(jù)流中,一組數(shù)據(jù)元素都是持久的,?技術流程 用于加載轉換的數(shù)據(jù)。為了有效地對數(shù)據(jù)進行分類并找到其血統(tǒng),需要建立以下基本的設置:
1.將數(shù)據(jù)元素映射到源
這包括創(chuàng)建一個將每個數(shù)據(jù)元素與其各自來源鏈接起來的全面地圖。這個映射確保了可追溯性,并幫助理解每個數(shù)據(jù)的來源。
2.可擴展配置以添加新的下游工作流
在引入新的工作流時,配置應該足夠靈活,可以在不破壞現(xiàn)有流程的情況下納入這些更改。這種可擴展性對于適應數(shù)據(jù)管道的動態(tài)性質至關重要。
3.可演變配置以適應源元素的變化
數(shù)據(jù)源可能隨著時間的推移而改變,無論是由于模式更新、新的數(shù)據(jù)源,還是由于數(shù)據(jù)結構的修改。配置必須適應這些變化,以保持準確的數(shù)據(jù)血統(tǒng)。
如果它通過引用代碼基礎涉及純SQL,則可以從代碼中推斷出這一血統(tǒng)。然而,當不同的語言(如pydn或scala)與SQL一起使用時,它就變得更加復雜。在這種情況下,需要手動干預,以維護配置和識別血統(tǒng)。這可以用半自動化的方式實現(xiàn)。這種復雜性是由于每種語言的語法和語義不同而產生的,使自動推理具有挑戰(zhàn)性。
對數(shù)據(jù)血統(tǒng)的利用
可以通過使用節(jié)點和邊緣來表示數(shù)據(jù)元素及其關系來維護數(shù)據(jù)血統(tǒng)。這種方法允許靈活和可查詢的模式,可以很容易地適應變化和新的需求。通過利用GREGQL,組織可以創(chuàng)建一種更加互動和高效的方式來管理和可視化數(shù)據(jù)血統(tǒng)。
市場上有幾個數(shù)據(jù)譜系工具,每一個都提供了獨特的特性和能力:Al1、RISE、Manta、科爾布拉塔、阿帕奇地圖集和單個云計算提供者正在提供他們自己的云血統(tǒng)。
在識別源之后,現(xiàn)在我們需要有能力查看來自源的電話號碼是否在每個轉換或負載中實際傳播而不改變其值?,F(xiàn)在,為了能夠觀測到這些數(shù)據(jù)匹配,我們需要一個非常簡單的統(tǒng)一機制,能夠將這些數(shù)據(jù)集中起來并顯示出來。
讓我們深入研究數(shù)據(jù)觀察。
數(shù)據(jù)觀察員
通過利用不同的數(shù)據(jù)庫連接器從不同的數(shù)據(jù)源中干凈地檢索和呈現(xiàn)數(shù)據(jù),可以實現(xiàn)數(shù)據(jù)監(jiān)視能力。在我們的示例中,電話屬性值被正確地從API中獲取到表中,但是當寫入前端時卻會丟失。這是一個典型的數(shù)據(jù)丟失案例。通過在這個過程中具有可見性,數(shù)據(jù)工程師可以快速解決這個問題。
下面是一個統(tǒng)一的數(shù)據(jù)監(jiān)視方法的顯著好處。
· 快速識別差異: 幫助數(shù)據(jù)工程師快速識別和解決數(shù)據(jù)差異,確保數(shù)據(jù)質量
· 簡化數(shù)據(jù)檢索和列報: 簡化數(shù)據(jù)檢索和顯示流程,節(jié)省時間和精力
· 統(tǒng)一數(shù)據(jù)視圖: 提供統(tǒng)一的數(shù)據(jù)視圖,使業(yè)務利益攸關方更容易獲得見解和作出知情決定
· 數(shù)據(jù)準確性和一致性: 授權最終用戶確保來自不同來源的數(shù)據(jù)準確一致
具備跟蹤數(shù)據(jù)來源、及時性和準確性的能力,可增強整個組織的信心。我們討論了數(shù)據(jù)譜系和數(shù)據(jù)監(jiān)視的概念,以了解數(shù)據(jù)來源,跟蹤不同攝入和轉換點的數(shù)據(jù),并在每個階段觀察其價值。沒有明確的工具只提供數(shù)據(jù)監(jiān)視功能;這些功能往往是一些數(shù)據(jù)發(fā)現(xiàn)或數(shù)據(jù)編目工具的副產品。各組織需要根據(jù)其具體要求建立統(tǒng)一的平臺。像重新工具和多莫這樣的工具可以將數(shù)據(jù)統(tǒng)一到一個視圖中,提供數(shù)據(jù)流的統(tǒng)一和清晰的表示。
在下一節(jié)中,我們將探討如何監(jiān)控數(shù)據(jù)質量并通知團隊問題,以防止不正確的數(shù)據(jù)傳播到最終系統(tǒng)。這種積極主動的方法確保數(shù)據(jù)的完整性和可靠性,促進組織內部的信任和效率。
數(shù)據(jù)驗證器
數(shù)據(jù)驗證 是確保數(shù)據(jù)在各種管道和系統(tǒng)中流動時的質量和完整性的關鍵過程。需要定期更新數(shù)據(jù),以保持其準確性和可靠性。數(shù)據(jù)驗證可以使用不同的方法和指標來檢查一致性、完整性和正確性。以下是一些用于數(shù)據(jù)驗證的關鍵指標:
· 新鮮: 衡量數(shù)據(jù)的最新情況;確保正在處理和分析的數(shù)據(jù)是最新的和相關的
o 例子 :檢查最新數(shù)據(jù)輸入的時間戳
· 失蹤人數(shù): 計算數(shù)據(jù)集中缺失或空值的數(shù)目;標識可能影響數(shù)據(jù)質量的不完整記錄
o 例子 :計算列中的空值數(shù)
· 失蹤百分比: 計算記錄總數(shù)中缺失值的百分比;更清楚地說明數(shù)據(jù)集中缺失數(shù)據(jù)的程度。
o 例子 (失蹤價值/記錄總數(shù))*100
· 平均: 計算數(shù)字數(shù)據(jù)的平均值;通過比較當前平均值和歷史平均值,幫助確定異常值或異常值。
o 例子 :在數(shù)據(jù)集中計算平均銷售額
重復計數(shù):計算數(shù)據(jù)集中重復記錄的數(shù)量;確保數(shù)據(jù)的唯一性,并有助于維護數(shù)據(jù)的完整性。
o示例:計算表中重復的客戶ID的數(shù)量。
一些庫提供了用于執(zhí)行數(shù)據(jù)驗證的內置函數(shù)和框架,從而使數(shù)據(jù)工程師更容易實現(xiàn)這些檢查。請在下面找到一些庫和示例代碼,以獲得驗證和實現(xiàn)的感覺。
SODA:SODA(可擴展的一站式數(shù)據(jù)分析)是一個用于數(shù)據(jù)驗證和監(jiān)控的強大工具。它為定義和執(zhí)行數(shù)據(jù)驗證規(guī)則提供了一套全面的特性,支持自定義度量,并允許用戶根據(jù)其特定需求創(chuàng)建檢查。
遠大期望:遠大期望是一個用于數(shù)據(jù)驗證和文檔化的開源庫。允許用戶定義期望,即數(shù)據(jù)應該滿足的規(guī)則或條件。它支持自動配置分析和生成驗證報告。
實現(xiàn)數(shù)據(jù)驗證涉及到使用所選的庫或框架來設置必要的檢查和規(guī)則。
作為本文的一部分,我們探索了利用數(shù)據(jù)血統(tǒng)、數(shù)據(jù)觀察和數(shù)據(jù)驗證的選項,以便組織能夠構建一個強大的數(shù)據(jù)管理框架,確保數(shù)據(jù)的完整性,提高可用性,并推動業(yè)務成功。這些工具共同幫助保持高數(shù)據(jù)質量,支持復雜的分析和機器學習舉措,并使整個組織對數(shù)據(jù)資產有清晰的了解。
在當今的數(shù)據(jù)驅動世界,保持準確、可靠和易于發(fā)現(xiàn)的數(shù)據(jù)的能力至關重要,這些工具使各組織能夠充分利用其數(shù)據(jù)資產,推動創(chuàng)新,并有效實現(xiàn)其戰(zhàn)略目標。這些框架以及數(shù)據(jù)編目和數(shù)據(jù)發(fā)現(xiàn)功能等各種工具,使業(yè)務用戶能夠更廣泛地了解數(shù)據(jù),從而幫助從業(yè)務和技術領域進行創(chuàng)新。