AWS Glue Data Quality 中的異常偵測 - AWS Glue

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

AWS Glue Data Quality 中的異常偵測

工程師可同時管理數百個資料管線。每個管線都可以從各種來源擷取資料,並將其載入資料湖或其他資料儲存庫。為了確保提供高質量的數據進行決策,他們制定了數據質量規則。這些規則會根據反映目前業務狀態的固定條件來評估資料。但是,當企業環境變更時,資料屬性會變更,導致這些固定條件過期,導致資料品質不佳。

例如,零售公司的資料工程師建立了驗證每日銷售額的規則必須超過 one-million-dollar 閾值。幾個月後,每日銷售額超過 200 萬美元,使得門檻過時。由於缺少通知,以及手動分析和更新規則所需的工作量,資料工程師無法更新規則以反映最新的閾值。本月晚些時候,商業用戶注意到銷售額下降了 25%。經過數小時的調查,數據工程師發現負責從某些商店中提取數據的ETL管道失敗,而不會產生錯誤。具有過期閾值的規則在未偵測到此問題的情況下繼續成功運作。

或者,可以偵測到這些異常情況的主動式警示可能會讓使用者偵測到此問題。此外,跟踪業務季節性可以突出顯著的數據質量問題。例如,週末和節日期間的零售銷售額可能最高,而平日則相對較低。這種模式的分歧可能表示數據質量問題或業務情況發生變化。數據質量規則無法檢測季節性模式,因為這需要高級算法,可以從過去的模式中學習捕獲季節性以檢測偏差。

最後,由於規則建立程序的技術性質以及撰寫規則所需的時間,使用者發現建立和維護規則具有挑戰性。因此,他們更喜歡在定義規則之前先探索數據見解。客戶需要能夠輕鬆發現異常情況,使他們能夠主動偵測資料品質問題並做出有信心的業務決策。

運作方式

注意

僅 AWS Glue ETL 支援異常偵測。以資料目錄為基礎的資料品質不支援此功能。

此螢幕擷取畫面顯示資料品質異常偵測程序。

AWS Glue 資料品質結合了基於規則的資料品質和異常偵測功能的強大功能,以提供高品質的資料。若要開始使用,您必須先設定規則和分析器,然後啟用異常偵測。

規則

規則 — 規則以稱為「資料品質定義語言」(DQDL) 的開放語言來表達對資料的期望。規則的範例如下所示。當有在 `乘客計數` 列沒有空或NULL值,這條規則將是成功的:

Rules = [ IsComplete "passenger_count" ]

分析器

如果您知道重要資料行,但可能對資料不夠了解而無法撰寫特定規則,您可以使用 Analyzer 監視這些資料行。分析器是一種收集數據統計信息而無需定義明確規則的方法。配置分析儀的一個例子如下所示:

Analyzers = [ AllStatistics "fare_amount", DistinctValuesCount "pulocationid", RowCount ]

在此範例中,設定了三個分析器:

  1. 第一個分析儀 AllStatistics 「票價金額」將擷取「票價金額」欄位中所有可用的統計資料。

  2. 第二個分析儀,DistinctValuesCount 「普位置」`,將捕獲不同值的計數在「普位置」列。

  3. 第三個分析器,RowCount``,將捕獲數據集中的記錄總數。

分析器是一種簡單的方法來收集相關的數據統計信息,而無需指定複雜的規則。透過監控這些統計資料,您可以深入瞭解資料品質,並找出可能需要進一步調查或建立特定規則的潛在問題或異常情況。

數據統計

AWS Glue 資料品質中的分析儀和規則都會收集資料統計資料,也稱為資料設定檔。這些統計資料可讓您深入瞭解資料的特性和品質。收集的統計資料會隨著時間的推移儲存在 AWS Glue 服務中,讓您追蹤和分析資料設定檔中的變更。

您可以輕鬆擷取這些統計資料,並將其寫入 Amazon S3 以進行進一步分析或長期儲存,只要叫用適當APIs的資料即可。此功能可讓您將資料剖析整合到資料處理工作流程中,並將收集的統計資料運用於各種用途,例如資料品質監控、異常偵測。

透過將資料設定檔存放在 Amazon S3 中,您可以利用 Amazon 物件儲存服務的可擴展性、耐久性和成本效益。此外,您還可以利用其他 AWS 服務或第三方工具來分析和視覺化資料設定檔,從而使您能夠深入了解資料品質,並做出有關資料管理和治理的明智決策。

以下是一段時間內儲存的資料統計資料範例。

螢幕擷取畫面顯示一段時間內資料品質統計資料的折線圖。
注意

AWS 「Glue 合資料品質」只會收集一次統計資料,即使您同時擁有相同資料欄的「規則」和「分析器」,讓統計資料產生程序更有效率。

異常偵測

AWS 「Glue 合資料品質」至少需要三個資料點來偵測異常。它利用機器學習算法從過去的趨勢中學習,然後預測 future 價值觀。當實際值不在預測範圍內時,「 AWS Glue 資料品質」會建立「異常觀測」。它提供了實際值和趨勢的可視化表示。下圖中顯示了四個值。

螢幕擷取畫面顯示一段時間內資料品質異常偵測事件的線圖。
  1. 實際統計數據及其隨時間推移的趨勢。

  2. 通過從實際趨勢中學習衍生的趨勢。這對於了解趨勢方向很有用。

  3. 統計資料的可能上限。

  4. 統計資料的可能下限。

  5. 建議的資料品質規則,可在 future 偵測到這些問題。

有關異常的一些重要事項需要注意:

  • 產生異常時,資料品質分數不會受到影響。

  • 偵測到異常時,會將其視為後續執行的正常狀態。除非明確排除,否則機器學習演算法會將此異常值視為輸入值。

再培訓

重新訓練異常偵測模型對於偵測正確的異常至關重要。偵測到異常時,「 AWS Glue 資料品質」會將模型中的異常做為正常值納入。若要確保異常偵測正確運作,請務必透過確認或拒絕異常情況來提供意見反應。 AWS Glue 資料品質同時在 AWS Glue Studio 中提供機制,並APIs提供回饋給模型。若要瞭解更多資訊,請參閱在 AWS Glue ETL 管線中設定異常偵測的文件。

異常偵測演算法的詳細資訊

  • 異常偵測演算法會檢查一段時間內的資料統計資料。演算法會考量所有可用的資料點,並忽略任何明確排除的統計資料。

  • 這些資料統計資料會儲存在 AWS Glue 服務中,您可以提供加密 AWS KMS 金鑰。關於如何提供加密 AWS Glue 資料品質統計資料的 AWS KMS 金鑰,請參閱安全性指南。

  • 時間元件對於異常偵測演算法至關重要。根據過去的值,「 AWS Glue 資料品質」決定上限和下限。在此決定期間,它會考慮時間分量。在一分鐘間隔、每小時間隔或每日間隔內,相同值的限制會有所不同。

擷取季節性

AWS Glue 資料品質的異常偵測演算法可擷取季節性模式。例如,它可以理解工作日模式與週末模式不同。這可以在下面的例子中看到,其中 AWS Glue 數據質量檢測到數據值中的季節性趨勢。您不需要執行任何特定動作即可啟用此功能。隨著時間推移, AWS Glue 資料品質會學習季節性趨勢,並在這些模式中斷時偵測異常情況。

螢幕擷取畫面顯示資料品質標籤,其中包含擷取季節性趨勢時的異常狀況的資料。

費用

我們會根據偵測異常所需的時間向您收費。每個統計資料會按偵測異常所需的時間計費 1 DPU。如需詳細範例,請參閱 AWS Glue 定價

關鍵考量

存儲統計信息沒有成本。但是,每個帳戶的統計數據限制為 100,000 個。這些統計資料最多可儲存兩年。