開始使用適用於 Data Catalog 的 AWS Glue Data Quality - AWS Glue

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

開始使用適用於 Data Catalog 的 AWS Glue Data Quality

此 入門區段提供的說明可協助您開始在 AWS Glue 主控台上使用 AWS Glue Data Quality。您將學習如何完成基本任務,例如產生資料品質規則建議,以及根據資料評估規則集。

先決條件

在使用 AWS Glue Data Quality 之前,您應該熟悉在 AWS Glue 中使用 Data Catalog 和爬蟲程式。使用 AWS Glue Data Quality 時,您可以評估 Data Catalog 資料庫中資料表的品質。您也需要下列項目:

  • Data Catalog 中的資料表,用來評估資料品質規則集。

  • 您在產生規則建議或執行資料品質任務時提供的 AWS Glue IAM 角色。此角色必須有權存取多個 AWS Glue Data Quality 程序代表您執行時所需的資源。這些資源包括 AWS Glue、Amazon S3 和 CloudWatch。若要檢視包括 AWS Glue Data Quality 最低許可的範例政策,請參閱 範例 IAM 政策

    若要進一步了解 AWS Glue 的 IAM 角色,請參閱 Create an IAM policy for the AWS Glue serviceCreate an IAM role for the AWS Glue service。您也可以檢視 AWS Glue Data Quality 動作授權中資料品質專屬的所有 AWS Glue 許可的清單。

  • 包含至少一個資料表的資料庫,其中包含各種資料。本教學課程中使用的資料表以 yyz-tickets 命名,內含資料表 tickets。此資料是多倫多市停車罰單公開提供的資訊集合。如果您建立自己的資料表,請確定已填入各種有效資料,以取得最佳建議規則集。

逐步範例

如需範例資料集的逐步範例,請參閱 AWS Glue Data Quality 部落格文章

產生規則建議

規則建議可讓您輕鬆開始使用資料品質工具,而無需撰寫程式碼。您可以透過 AWS Glue Data Quality 分析資料、識別規則,並建立可在資料品質任務中評估的規則集。系統會在 90 天後自動刪除建議執行。

產生資料品質規則建議
  1. AWS 在 https://console.aws.amazon.com/glue/:// 開啟 Glue 主控台。

  2. 在導覽窗格中,選擇 Tables (資料表)。然後選擇您要為其產生資料品質規則建議的資料表。

  3. 在資料表詳細資訊頁面上,選取資料品質索引標籤以存取資料表的 AWS Glue Data Quality 規則和設定。

  4. 資料品質索引標籤上,選擇新增規則並監控資料品質

  5. 規則集建置器頁面上,如果沒有規則建議執行,頁面頂端的提醒將提示您開始建議任務。

  6. 選擇建議規則以開啟模態並輸入建議任務的參數。

  7. 選擇可存取 Glue 的 IAM AWS 角色。此角色必須具有存取各種 AWS Glue Data Quality 程序代表您執行所需的資源的許可。

  8. 根據偏好設定填寫欄位後,選擇建議規則以開始建議任務執行。如果建議執行正在進行中或已完成,您可以在此提醒中管理執行。您可能需要重新整理提醒,才能檢視狀態變更。已完成和進行中的建議任務執行會顯示在執行歷史記錄頁面中,其中會列出所有過去 90 天內的建議執行。

建議規則的含義

AWS Glue Data Quality 會根據輸入資料表每一欄的資料產生規則。它使用規則來識別可能的邊界,在這些邊界中可以篩選資料以維持品質要求。下列已產生規則的清單包含的範例有助於了解規則的含義,以及在將規則套用至資料時可能會執行的動作。

如需產生之資料品質定義語言 (DQDL) 規則類型的完整清單,請參閱 DQDL rule type reference

  • IsComplete "SET_FINE_AMOUNT"IsComplete 規則會驗證是否已針對任何指定資料列填入資料欄。使用此規則可在資料中將資料欄標記為非選用資料欄。

  • Uniqueness "TICKET_NUMBER" > 0.95Uniqueness 規則會驗證資料欄中的資料是否符合某些唯一性閾值。在此範例中,填入 "TICKET_NUMBER" 任何指定資料列的資料被判定為與所有其他資料列的內容最多有 95% 相同,如此便建議使用此規則。

  • ColumnValues "PROVINCE" in ["ON", "QC", "AB", "NY",...]ColumnValues 規則會根據現有資料欄內容定義資料欄的有效值。在此範例中,每一資料列的資料都是州或省的 2 個字母的車牌。

  • ColumnLength "INFRACTION_DESCRIPTION" between 15 and 31ColumnLength 規則會對資料欄的資料強制執行長度限制。此規則是根據字串資料欄的記錄長度下限和上限,從範例資料產生。

監控規則建議

執行資料品質規則建議時,新增規則並監控資料品質頁面會在頂端列中顯示資訊和您可以採取的其他動作。

規則建議正在進行時,您可以選擇在建議任務完成之前停止執行。任務正在進行中時,您會看到進行中狀態,以及執行開始的日期和時間。

規則建議完成時,規則建議列會顯示建議的規則數量、上次建議執行的狀態,以及完成的日期和時間戳記。

您可以選擇插入規則建議來新增建議的規則。若要檢視先前建議的規則,請選取特定日期。若要執行新建議,請選擇其他動作,然後選擇建議的規則

選擇管理使用者設定以進行預設設定。您可以為 Amazon S3 設定預設路徑來存放規則集,或設定預設角色以執行資料型錄。

編輯建議的規則集

由於 AWS Glue Data Quality 會根據您現有的可用資料產生規則,您可能會在自動建議中看到一些非預期或不想要的規則。為了充分利用建議的規則集,您需要對其進行評估和修改。在本教學課程的此步驟中,您需採用上一步中產生的規則並對其進行調整,以對某些資料強制執行更嚴格的限制。您也可以放寬其他規則,以確保稍後可以新增正確、唯一的資料。

編輯建議的規則集
  1. 在 AWS Glue 主控台中,選擇 Data Catalog,然後在導覽窗格中選擇資料庫資料表。選擇 tickets 資料表。

  2. 在資料表詳細資訊頁面上,選擇資料品質索引標籤來存取資料表的 AWS Glue Data Quality 規則和設定。

  3. 規則集區段中,選取在 產生規則建議 中產生的規則集。

  4. 選擇動作,然後在主控台視窗中選擇編輯。規則集編輯器會在主控台中載入。其中包括規則的編輯窗格和 DQDL 的快速參考。

  5. 移除指令碼的第 2 行。如此可以放寬要求,即將資料庫大小限制在特定數量的資料列內。編輯後,檔案的第 1 至 3 行中應包含以下內容:

    Rules = [ IsComplete "TAG_NUMBER_MASKED", ColumnLength "TAG_NUMBER_MASKED" between 6 and 9,
  6. 移除指令碼的第 25 行。如此放寬了 96% 的記錄省份為 ON 的要求。編輯後,檔案從第 24 行至規則集結尾應包含以下內容:

    ColumnValues "PROVINCE" in ["ON", "QC", "AB", "NY", "AZ", "NS", "BC", "MI", "PQ", "MB", "PA", "FL", "SK", "NJ", "OH", "NB", "IL", "MA", "CA", "VA", "TX", "NF", "MD", "PE", "CT", "NC", "GA", "IN", "OR", "MN", "TN", "WI", "KY", "MO", "WA", "NH", "SC", "CO", "OK", "VT", "RI", "ME", "AL", "YT", "IA", "DE", "AR", "LA", "XX", "WV", "MT", "KS", "NT", "DC", "NV", "NE", "UT", "MS", "NM", "ID", "SD", "ND", "AK", "NU", "GO", "WY", "HI"], ColumnLength "PROVINCE" = 2 ]
  7. 將第 14 行變更為以下內容:

    IsComplete "TIME_OF_INFRACTION",

    如此可以將資料庫限制為僅包含記錄違規時間的票證,藉此加強對資料欄的要求。您應始終將缺少記錄違規時間的票證視為此資料集中的無效資料。這與分割或轉換可能更適合進一步使用或檢查資料以確定規則品質的情況不同。

  8. 選擇主控台頁面底部的更新規則集

建立新的規則集

規則集是您根據資料評估的一組資料品質規則。在 AWS Glue 主控台中,您可以使用資料品質定義語言 (DQDL) 撰寫自訂規則集。

建立資料品質規則集
  1. 在 AWS Glue 主控台中,選擇 Data Catalog,選擇資料庫,然後在導覽窗格中選擇資料表。選取 tickets 資料表。

  2. 開啟 Data quality (資料品質) 索引標籤。

  3. 規則集區段中,選擇建立規則集。DQDL 編輯器會在主控台中啟動。它具有可供直接編輯的文字區域,以及 DQDL 規則和資料表結構描述的快速參考。

  4. 開始將規則新增至 DQDL 編輯器的文字區域。您可以直接從本教學課程撰寫規則,也可以使用資料品質規則編輯器的 DQDL 規則建置器功能進行撰寫。

    注意
    如何使用 DQDL 規則建置器
    1. 從清單中選取規則類型,然後選取加號,將範例語法插入編輯器窗格。

    2. 使用您自己的欄名稱替換預留位置欄名稱。資料表中的資料欄名稱位於結構描述索引標籤中。

    3. 視需要更新運算式參數。如需 DQDL 支援的表達式完整清單,請參閱表達式

    例如,下列規則是 tickets 資料表中 ticket_number 資料欄資料驗證的限制條件。若要新增下列規則,請使用 DQDL 規則建置器或直接編輯規則集:

    IsComplete "ticket_number", IsUnique "ticket_number", ColumnValues "ticket_number" > 9000000000
  5. 規則集名稱欄位中輸入新規則集的名稱。

  6. 選擇儲存規則集

跨多個資料集評估資料品質

您可以使用 ReferentialIntegrity 和 DatasetMatch 規則集,跨多個資料集設定資料品質規則。ReferentialIntegrity 會檢查在其他資料集中是否存在主資料集中的資料。

若要新增參考資料集,請選擇結構描述索引標籤,然後選擇更新參考資料表。系統將提示您選取資料庫和資料表。您可以新增資料表,然後設定資料品質規則。AggregateMatch、RowCountMatch、ReferentialIntegrity、SchemaMatch 和 DatasetMatch 等規則類型皆支援跨多個資料集執行資料品質檢查的能力。

執行規則集以評估資料品質

當您執行資料品質任務時, AWS Glue Data Quality 會根據您的資料評估規則集,並計算資料品質分數。此分數代表針對輸入內容通過的資料品質規則百分比。

執行資料品質任務
  1. 在 AWS Glue 主控台中,選擇 Data Catalog,選擇資料庫,然後在導覽窗格中選擇資料表。選取資料表 tickets

  2. 選擇資料品質索引標籤。

  3. 規則集清單中,選取您要根據資料表評估的規則集。在此步驟中,我們建議使用已撰寫或修改的規則集,而不是產生的規則。選擇執行

  4. 在模態中選擇 IAM 角色。此角色必須具有存取各種 AWS Glue Data Quality 程序代表您執行所需的資源的許可。您可以將 IAM 角色儲存為預設角色,或前往預設設定頁面進行修改。

  5. Data quality actions (資料品質動作) 下,選擇是否要 Publish metrics to Amazon CloudWatch (將指標發佈到 Amazon CloudWatch)。選取此選項時, AWS Glue Data Quality 會發佈指標,指出傳遞的規則數目和失敗的規則數目。若要對以這種方式存放的指標採取動作,您可以使用 CloudWatch 警示。金鑰指標也會發佈到 , Amazon EventBridge 供您設定提醒。如需詳細資訊,請參閱設定提醒、部署和排程

  6. 執行頻率中,選擇視需求執行或排程規則集。排程規則集時,系統會提示您輸入任務名稱。將在 Amazon EventBridge中建立排程。您可以在 Amazon EventBridge中編輯排程。

  7. 若要將資料品質結果儲存在 Amazon S3 中,請選取資料品質結果位置。您先前為此任務選取的 IAM 角色必須具有此位置的寫入存取權。

  8. 其他組態下,輸入您希望 AWS Glue 為您的資料品質任務配置的請求工作者數量

  9. 您可以選擇在資料來源中設定篩選條件。如此可協助您減少讀取的資料量。您也可以選取分割區資訊並透過 API 呼叫將增量驗證作為參數傳遞,以使用篩選條件執行增量驗證。您可以提供分割區述詞來改善效能。

  10. 選擇執行。您應該會在 Data quality task runs (資料品質任務執行) 清單中看到新任務。當任務的執行狀態資料欄顯示為已完成時,您可以檢視品質分數結果。您可能需要重新整理主控台視窗,才能正確更新狀態。

  11. 若要檢視資料品質結果詳細資訊的資料欄,請選擇 "+" 圖示以展開規則集。結果會顯示在評估中通過和失敗的規則,以及觸發規則失敗的原因。

檢視資料品質分數和結果

查看對所有已建立規則集的最新執行
  1. 在 AWS Glue 主控台中,選擇導覽窗格中的資料表。然後選擇您要為其執行資料品質任務的資料表。

  2. 選擇資料品質索引標籤。

  3. 資料品質快照顯示一段時間內執行的整體趨勢。依預設,會顯示對所有規則集最後 10 次的執行。若要依規則集篩選,請從下拉式清單中選取所需規則集。如果執行少於 10 次,則會顯示所有可用的已完成執行。

  4. 資料品質資料表中,會顯示每個具有最新執行 (如有) 的規則集及其分數。展開規則集會顯示該規則集中的規則,以及該執行的規則結果。

查看特定規則集上的最新執行
  1. 在 AWS Glue 主控台中,選擇導覽窗格中的資料表。然後選擇您要為其執行資料品質任務的資料表。

  2. 選擇資料品質索引標籤。

  3. 資料品質資料表中,選擇特定規則集。

  4. 規則集詳細資訊頁面上,選擇執行歷史記錄索引標籤。

    此索引標籤內的資料表中會列出此特定規則集的所有評估執行。您可以查看分數的歷史記錄和執行狀態。

  5. 若要查看特定執行的詳細資訊,請選擇執行 ID,以前往評估執行詳細資訊頁面。您可以在此頁面上查看有關執行的詳細資訊,以及個別規則結果狀態的更多詳細資訊。