

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

# 使用 Glue Studio AWS 評估資料品質
<a name="data-quality-gs-studio"></a>

 AWS Glue Data Quality 會根據您定義的規則來評估和監控資料品質。這可以讓您很容易地識別需要採取行動的資料。在 AWS Glue Studio 中，您可以將資料品質節點新增至視覺化任務，以便在資料目錄的資料表上建立資料品質規則。然後，您可以監控和評估資料集隨著時間推移發生的變化。如需有關如何在 AWS Glue Studio 中使用 AWS Glue Data Quality 的概觀，請參閱下列影片。

[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/DUd5s_CFtBM/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/DUd5s_CFtBM)


 以下是如何使用 AWS Glue Data Quality 的高階步驟：

1. **建立資料品質規則**：透過選擇您設定的內建規則集，使用 DQDL 建置器建立一組資料品質規則。

1.  **設定資料品質任務**：根據資料品質結果和輸出選項定義動作。

1.  **儲存並執行資料品質任務**：建立並執行任務。儲存任務將儲存您為任務建立的規則集。

1.  **監控和檢閱資料品質結果**：在任務執行完成後檢閱資料品質結果。您可以選擇將任務排定在未來日期。

## 優勢
<a name="gs-data-quality-benefits"></a>

 資料分析師、資料工程師和資料科學家可以使用 AWS Glue Studio 中的評估資料品質節點來分析、設定、監控和改善視覺化任務編輯器中的資料品質。使用資料品質節點的好處包括：
+  **偵測資料品質問題**：您可以透過建立可檢查資料集特性的規則來檢查問題。
+  **易於上手**：您可以從預先建置的規則和動作開始。
+  **緊密整合**：您可以在 AWS Glue Studio 中使用資料品質節點，因為 AWS Glue Data Quality 在 AWS Glue Data Catalog 上執行。

# 在 AWS Glue Studio 中評估 ETL 任務的資料品質
<a name="tutorial-data-quality"></a>

在本教學課程中，您可開始使用 AWS Glue Studio 中的 AWS Glue Data Quality。您將了解如何：
+  使用資料品質定義語言 (DQDL) 規則建置器建立規則。
+  指定資料品質動作、要輸出的資料，以及資料品質結果的輸出位置。
+  檢閱資料品質結果。

 若要練習範例，請檢閱部落格文章 [https://aws.amazon.com/blogs/big-data/getting-started-with-aws-glue-data-quality-for-etl-pipelines/](https://aws.amazon.com/blogs/big-data/getting-started-with-aws-glue-data-quality-for-etl-pipelines/)。

## 步驟 1：將「評估資料品質」轉換節點新增至視覺化任務
<a name="tutorial-data-quality-step1"></a>

在此步驟中，您要將評估資料品質節點新增到視覺化任務編輯器。

**新增資料品質節點**

1.  在 AWS Glue Studio 主控台中，從**建立任務**區段中選擇**具有來源和目標的視覺化**，然後選擇**建立**。

1.  選擇您要套用資料品質轉換的節點。一般而言，這將是轉換節點或資料來源。

1.  透過選擇 "\$1" 圖示開啟左側的資源面板。然後在搜尋列中輸入**評估資料品質**，接著從搜尋結果中選擇**評估資料品質**。

1.  視覺化任務編輯器將顯示從您選取的節點分支的**評估資料品質**轉換節點。在主控台右側，**轉換**索引標籤將自動開啟。如果需要變更父節點，請選擇**節點屬性**索引標籤，然後從下拉式選單中選擇父節點。

    選擇新的父節點時，會在父節點與**評估資料品質**節點之間建立新的連線。移除任何不需要的父節點。只有一個父節點可以連接到一個**評估資料品質**節點。

1.  「評估資料品質」轉換支援多個父項，因此您可以驗證多個資料集的資料品質規則。支援多個資料集的規則包括 ReferentialIntegrity、DatasetMatch、SchemaMatch、RowCountMatch 和 AggregateMatch。

   當您將多個輸入新增至「評估資料品質」轉換時，您需要選取「主要」輸入。您的主要輸入是您想要驗證資料品質的資料集。所有其他節點或輸入都被視為參考。

   您可以使用「評估資料品質」轉換來識別未通過資料品質檢查的特定記錄。建議您選擇主資料集，因為標示錯誤記錄的新資料欄會新增至主資料集。

1.  您可以為輸入資料來源指定別名。當您使用 ReferentialIntegrity 規則時，別名會提供另一種參考輸入來源的方式。因為只能將一個資料來源指定為主要來源，您新增的每個其他資料來源都需要別名。

   在下列範例中，ReferentialIntegrity 規則會依別名指定輸入資料來源，並與主要資料來源執行一對一的比較。

   ```
   Rules = [
   	ReferentialIntegrity “Aliasname.name” = 1
   ]
   ```

## 步驟 2：使用 DQDL 建立規則
<a name="tutorial-data-quality-step2"></a>

在此步驟中，您要使用 DQDL 建立規則。在本教學課程中，您將使用**完整度**規則類型建立單一規則。此規則類型會根據指定運算式檢查資料欄中完整 (非 Null) 值的百分比。如需有關使用 DQDL 的詳細資訊，請參閱 [DQDL](https://docs.aws.amazon.com/glue/latest/dg/dqdl.html)。

1.  在**轉換**索引標籤中，選擇**插入**按鈕以新增**規則類型**。這會將規則類型新增至規則編輯器，您可以在其中輸入規則的參數。
**注意**  
 編輯規則時，請確保規則位於括號內，且以逗號分隔規則。例如，完整的規則運算式如下所示：  

   ```
   Rules= [
       Completeness "year">0.8, Completeness "month">0.8
   ]
   ```
 此範例指定名為 'year' 和 'month' 資料欄的完整度參數。這些資料欄必須大於 80%「完整」，或各相應資料欄中 80% 以上的執行個體都有資料，才能通過規則。

    在此範例中，搜尋並插入**完整度**規則類型。這會將規則類型新增至規則編輯器。此規則類型的語法如下：`Completeness <COL_NAME> <EXPRESSION>`。

   大多數規則類型都需要您提供運算式作為參數，以建立布林值回應。如需有關支援的 DQDL 運算式的詳細資訊，請參閱 [DQDL 運算式](https://docs.aws.amazon.com/glue/latest/dg/dqdl.html#dqdl-syntax)。接著新增資料欄名稱。

1.  在 DQDL 規則建置器中，按一下**結構描述**索引標籤。使用搜尋列尋找輸入結構描述中的欄名稱。輸入結構描述會顯示欄名稱和資料類型。

1.  在規則編輯器中按一下規則類型右側，將游標插入要插入資料欄的位置。或者，您也可以在規則中輸入資料欄的名稱。

    例如，在輸入結構描述清單中的資料欄清單中，選擇資料欄 (在此範例中為**年**) 旁的**插入**按鈕。這會將資料欄新增至規則。

1.  然後，在規則編輯器中新增運算式來評估規則。由於**完整度**規則類型會根據指定運算式檢查欄中完整 (非 Null) 值的百分比，請輸入運算式，例如 `> 0.8`。此規則將檢查資料欄是否大於 80% 的完整 (非 Null) 值。

## 步驟 3：設定資料品質輸出
<a name="tutorial-data-quality-step3"></a>

 建立資料品質規則後，即可選取其他選項以指定資料品質節點輸出：

1.  在**資料品質轉換輸出**中，從以下選項中選擇：
   +  **原始資料**：選擇輸出原始輸入資料。當您選擇此選項時，任務中會新增一個新的子節點 “rowLevelOutcomes”。其結構描述與作為輸入傳遞至轉換的主資料集結構描述相符。如果您只想在品質問題發生時傳遞資料並讓任務失敗，則此選項非常有用。

     另一個使用案例是當您想要偵測未通過資料品質檢查的錯誤記錄時。若要偵測錯誤記錄，請選擇**新增資料欄以指出資料品質錯誤**選項。此動作會將四個新資料欄新增至 “rowLevelOutcomes” 轉換的結構描述。
     +  **DataQualityRulesPass** (字串陣列)：提供通過資料品質檢查的規則陣列。
     +  **DataQualityRulesFail** (字串陣列)：提供未通過資料品質檢查的規則陣列。
     +  **DataQualityRulesSkip** (字串陣列)：提供已略過的規則陣列。下列規則無法識別錯誤記錄，因為它們是在資料集層級套用。
       +  AggregateMatch 
       +  ColumnCount 
       +  ColumnExists 
       +  ColumnNamesMatchPattern 
       +  CustomSql 
       +  RowCount 
       +  RowCountMatch 
       +  StandardDeviation 
       +  Mean 
       +  ColumnCorrelation 
     +  **DataQualityEvaluationResult**：在資料列層級提供「已通過」或 「未通過」狀態。請注意，您的整體結果可能是未通過，但某個記錄可能會通過。例如，RowCount 規則可能已失敗，但所有其他規則可能已成功。在這種情況下，此欄位狀態為「已通過」。

1.  **資料品質結果**：選擇輸出已設定的規則及其通過或失敗狀態。如果您想要將結果寫入 Amazon S3 或其他資料庫，此選項非常有用。

1. **資料品質輸出設定** (選用)：選擇**資料品質輸出設定**，以顯示**資料品質結果位置**欄位。然後選擇**瀏覽**，以搜尋要設定為資料品質輸出目標的 Amazon S3 位置。

## 步驟 4. 設定資料品質動作
<a name="tutorial-data-quality-step4"></a>

 動作可讓您根據特定條件將指標發布至 CloudWatch 或停止任務。動作只有在您建立規則之後才可用。當您選擇此選項時，相同的指標也會發布至 Amazon EventBridge。您可以使用這些選項[建立通知警示](https://docs.aws.amazon.com/glue/latest/dg/data-quality-alerts.html)。
+  **規則集失敗時**：如果規則集在任務執行時失敗，您可以選擇該怎麼做。如果您希望任務在資料品質失敗時失敗，請選取下列其中一個選項來選擇任務失敗的時間。預設不會選取此動作，即使資料品質規則失敗，任務也會完成執行。
  +  **無**：如果選擇 **無** (預設值)，即使規則集失敗，任務也不會失敗，而會繼續執行。
  +  **將資料載入目標後任務失敗**：任務失敗且不儲存任何資料。若要儲存結果，請選擇要儲存資料品質結果的 Amazon S3 位置。
  +  **任務失敗而不載入至目標資料**：發生資料品質錯誤時，此選項會立即讓任務失敗。它不會載入任何資料目標，包括資料品質轉換的結果。

## 步驟 5：檢視資料品質結果
<a name="tutorial-data-quality-step5"></a>

 執行任務後，選擇**資料品質**索引標籤來檢視資料品質結果。

1.  檢視每個任務執行的資料品質結果。每個節點都會顯示資料品質狀態和狀態詳細資訊。選擇節點以檢視所有規則和每個規則的狀態。

1.  選擇**下載結果**以下載 CSV 檔案，其中包含有關任務執行和資料品質結果的資訊。

1.  如果您執行多個具有資料品質結果的任務，則可以依日期和時間範圍篩選結果。選擇*依日期和時間範圍篩選*以展開篩選條件視窗。

1.  選擇相對範圍或絕對範圍。如要使用絕對範圍，請使用行事曆選取日期，並輸入開始時間和結束時間的值。完成時，請選擇**套用**。

## 自動資料品質
<a name="automatic-data-quality"></a>

 當您以 AWS Amazon S3 做為目標建立 Glue ETL 任務時， AWS Glue ETL 會自動啟用 Data Quality 規則，以檢查要載入的資料是否至少有一個資料欄。此規則旨在確保載入的資料不會空白或損毀。不過，如果此規則失敗，任務將不會失敗；反之，您會發現資料品質分數降低。此外，會預設啟用異常偵測，其可監控資料中的資料欄數目。如果資料欄計數中有任何變化或異常， AWS Glue ETL 會通知您這些異常。此功能可協助您發現資料的潛在問題，並採取適當動作。若要檢視 Data Quality 規則及其組態，您可以在 Glue ETL 任務中按一下 Amazon S3 AWS 目標。將會顯示規則的組態，如提供的螢幕擷取畫面所示。

![\[螢幕擷取畫面顯示可供選取的自動資料品質選項。\]](http://docs.aws.amazon.com/zh_tw/glue/latest/dg/images/automatic-data-quality.png)


 可以選取**編輯資料品質組態**來新增其他資料品質規則。

## 彙總指標
<a name="data-quality-aggregated-metrics"></a>

您可能需要彙總指標來建置儀表板，例如在規則層級或規則集層級傳遞、失敗、略過的記錄數。若要取得每個規則的彙總指標和規則指標，請先將 `publishAggregatedMetrics` 選項新增至 `EvaluateDataQuality` 函數，以啟用彙總指標。

`additional_options` `publishAggregatedMetrics` 的可能選項為 `ENABLED` 和 `DISABLED`。舉例來說：

```
EvaluateDataQualityMultiframe = EvaluateDataQuality().process_rows(
    frame=medicare_dyf,
    ruleset=EvaluateDataQuality_ruleset,
    publishing_options={
        "dataQualityEvaluationContext": "EvaluateDataQualityMultiframe",
        "enableDataQualityCloudWatchMetrics": False,
        "enableDataQualityResultsPublishing": False,
    },
    additional_options={"publishAggregatedMetrics.status": "ENABLED"},
)
```

如果未指定，則 `publishAggregatedMetrics.status` 預設為 `DISABLED`，現在將計算規則指標和彙總指標。Glue AWS 互動式工作階段和 Glue ETL 任務目前支援此功能。Glue Catalog Data Quality API 不支援此功能。

### 擷取彙總指標結果
<a name="data-quality-aggregated-metrics-results"></a>

當 `additionalOptions` 為 `"publishAggregatedMetrics.status": "ENABLED"` 時，可以在兩個位置取得結果：

1. 當提供 `resultId` 時，透過 `GetDataQualityResult()` 傳回 `AggregatedMetrics` 和 `RuleMetrics`，其中 `AggregatedMetrics` 和 `RuleMetrics` 包含：

   **彙總指標：**
   + 已處理的資料列總數
   + 已傳遞的資料列總數
   + 已失敗的資料列總數
   + 已處理的規則總數
   + 已傳遞的規則總數
   + 已失敗的規則總數  
![\[螢幕擷取畫面顯示 Glue Data Quality AWS 評估的彙總指標和規則指標結構。\]](http://docs.aws.amazon.com/zh_tw/glue/latest/dg/images/data-quality-aggregated-metrics.png)

   此外，在規則層級，會提供下列指標：

   **規則指標：**
   + 已傳遞的資料列
   + 已失敗的資料列
   + 已略過的資料列
   + 已處理的資料列總數

1. 會以其他的資料影格傳回 `AggregatedMetrics`，並擴增 `RuleOutcomes` 資料影格以包含 `RuleMetrics`。

### 實作範例
<a name="data-quality-aggregated-metrics-example"></a>

下列範例示範如何在 Scala 中實作彙總指標：

```
// Script generated for node Evaluate Data Quality
val EvaluateDataQuality_node1741974822533_ruleset = """
  # Example rules: Completeness "colA" between 0.4 and 0.8, ColumnCount > 10
  Rules = [
      IsUnique "customer_identifier",
      RowCount > 10,
      Completeness "customer_identifier" > 0.5
  ]
"""

val EvaluateDataQuality_node1741974822533 = EvaluateDataQuality.processRows(frame=ChangeSchema_node1742850392012, ruleset=EvaluateDataQuality_node1741974822533_ruleset, publishingOptions=JsonOptions("""{"dataQualityEvaluationContext": "EvaluateDataQuality_node1741974822533", "enableDataQualityCloudWatchMetrics": "true", "enableDataQualityResultsPublishing": "true"}"""), additionalOptions=JsonOptions("""{"compositeRuleEvaluation.method":"ROW","observations.scope":"ALL","performanceTuning.caching":"CACHE_NOTHING", "publishAggregatedMetrics.status": "ENABLED"}"""))

println("--------------------------------ROW LEVEL OUTCOMES--------------------------------")
val rowLevelOutcomes_node = EvaluateDataQuality_node1741974822533("rowLevelOutcomes")

rowLevelOutcomes_node.show(10)

 println("--------------------------------RULE LEVEL OUTCOMES--------------------------------")

val ruleOutcomes_node = EvaluateDataQuality_node1741974822533("ruleOutcomes")

ruleOutcomes_node.show()

 println("--------------------------------AGGREGATED METRICS--------------------------------")

val aggregatedMetrics_node = EvaluateDataQuality_node1741974822533("aggregatedMetrics")

aggregatedMetrics_node.show()
```

### 範例結果
<a name="data-quality-aggregated-metrics-sample-results"></a>

會傳回結果，如下所示：

```
{
    "Rule": "IsUnique \"customer_identifier\"",
    "Outcome": "Passed",
    "FailureReason": null,
    "EvaluatedMetrics": {
        "Column.customer_identifier.Uniqueness": 1
    },
    "EvaluatedRule": "IsUnique \"customer_identifier\"",
    "PassedCount": 10,
    "FailedCount": 0,
    "SkippedCount": 0,
    "TotalCount": 10
}
{
    "Rule": "RowCount > 10",
    "Outcome": "Failed",
    "FailureReason": "Value: 10 does not meet the constraint requirement!",
    "EvaluatedMetrics": {
        "Dataset.*.RowCount": 10
    },
    "EvaluatedRule": "RowCount > 10",
    "PassedCount": 0,
    "FailedCount": 0,
    "SkippedCount": 10,
    "TotalCount": 10
}
{
    "Rule": "Completeness \"customer_identifier\" > 0.5",
    "Outcome": "Passed",
    "FailureReason": null,
    "EvaluatedMetrics": {
        "Column.customer_identifier.Completeness": 1
    },
    "EvaluatedRule": "Completeness \"customer_identifier\" > 0.5",
    "PassedCount": 10,
    "FailedCount": 0,
    "SkippedCount": 0,
    "TotalCount": 10
}
```

彙總指標如下所示：

```
{ "TotalRowsProcessed": 10, "PassedRows": 10, "FailedRows": 0, "TotalRulesProcessed": 3, "RulesPassed": 2, "RulesFailed": 1 }
```

# Data Quality 規則建置器
<a name="data-quality-rule-builder"></a>

使用資料品質定義語言 (DQDL) 規則建置器，您可以建立資料品質規則來評估資料。先選取規則類型，然後在規則編輯器中指定參數。規則編輯器也會在您建立規則時顯示任何錯誤和警告。

 [DQDL 指南](https://docs.aws.amazon.com/glue/latest/dg/dqdl.html)提供有關如何使用 DQDL 語法、內建規則類型和範例來建構規則的完整文件。

## 評估資料品質節點
<a name="gs-data-quality-transform-expand-view"></a>

 使用**評估資料品質**轉換節點和 DQDL 規則建置器時，您可以展開工作空間。
+  若要展開**轉換**索引標籤以填滿整個畫面，請選擇節點詳細資訊面板右上角的展開圖示。
+  若要展開 DQDL 規則編輯器，請選擇 **<<** 圖示以展開規則編輯器及收合**規則類型**和**結構描述**索引標籤。  
![\[螢幕擷取畫面顯示評估資料品質節點的任務圖表。\]](http://docs.aws.amazon.com/zh_tw/glue/latest/dg/images/data_quality_example.png)

## 元件
<a name="gs-data-quality-rule-builder-components"></a>

 AWS Glue Studio 內建了 26 種規則類型。每種規則類型都有描述和使用方式的範例。

### 資料品質規則類型
<a name="gs-data-quality-rule-types"></a>

 AWS Glue Studio 提供內建規則類型，以便於建立規則。如需規則類型的詳細資訊，請參閱 [DQDL rule type reference](https://docs.aws.amazon.com/glue/latest/dg/dqdl.html#dqdl-rule-types) (DQDL 規則類型參考)。

### 結構描述
<a name="gs-data-quality-schema"></a>

 **Schema** (結構描述) 索引標籤會顯示父節點的欄名稱和資料類型。隨即會顯示多個節點的結構描述。您可以檢視輸入結構描述、依欄名稱搜尋，以及將欄插入規則編輯器。

![\[螢幕擷取畫面顯示規則編輯器，其中包含使用「完整度」規則類型的完整規則。\]](http://docs.aws.amazon.com/zh_tw/glue/latest/dg/images/data_quality_schema.png)


### 規則編輯器
<a name="gs-dataquality-rule-editor"></a>

 規則編輯器是一個文字編輯器，您可以在其中編寫和編輯規則。如果您從 DQDL 規則建置器中選取規則類型，則規則類型會新增至規則編輯器。然後，您可以隨需透過修改文字來指定參數、新增規則和編輯規則。AWS Glue Studio 驗證規則編輯器中的規則，並顯示錯誤和警告 (如果有)。

 **錯誤和警告** 

 如果規則不遵循 DQDL 規則語法，則規則編輯器會顯示數個視覺化指標，表示發生錯誤：
+  規則編輯器在有錯誤的行上顯示紅色的錯誤圖示。
+  規則編輯器會在紅色錯誤圖示旁顯示錯誤的數量。
+  如果選擇包含錯誤的行，錯誤的描述和位置 (行和資料欄) 會顯示在規則編輯器底部。

![\[螢幕擷取畫面顯示 DQDL 規則編輯器，在第 1 行和規則編輯器底部有錯誤指標，並顯示了錯誤數量。其下則是錯誤的描述。\]](http://docs.aws.amazon.com/zh_tw/glue/latest/dg/images/data_quality_rule_editor_error.png)


## 
<a name="gs-data-quality-settings"></a>

 **資料品質動作** 

 依預設不會選取此動作，即使資料品質規則失敗，任務也會完成其執行。

 在下列動作之間進行選擇。您可使用動作來根據特定條件將結果發布至 CloudWatch 或停止任務。動作只有在您建立規則之後才可用。
+  **將結果發布至 CloudWatch**：執行任務時，將結果新增至 CloudWatch。
+  **資料品質失敗時任務失敗**：如果資料品質規則失敗，任務也會因此失敗。

 **資料品質轉換輸出** 
+  **原始資料**：選擇輸出原始輸入資料。如果您想在偵測到品質問題時停止任務，此選項則是理想的選擇。
+  **資料品質指標**：選擇輸出已設定的規則及其通過或失敗狀態。如果您想要採取自訂動作，此選項非常實用。

 **資料品質輸出設定** 

 將 Amazon S3 位置指定為資料品質輸出目標，從而設定資料品質結果位置。

# 在 Glue ETL AWS 任務中設定異常偵測
<a name="data-quality-configuring-anomaly-detection-etl-jobs"></a>

 若要從 Glue Studio AWS 中的異常偵測開始，請開啟 AWS Glue Studio 任務，然後按一下**評估資料品質轉換**。

 透過啟用此功能， AWS Glue Data Quality 會分析一段時間內的資料，以偵測異常。其可提供有關資料的寶貴資料統計資料和觀察，可讓您對任何已識別的異常採取行動。

 檢閱[異常偵測](data-quality-anomaly-detection.md)文件，以了解此功能的內部運作。

## 啟用異常偵測
<a name="data-quality-enabling-anomaly-detection"></a>

**若要在 AWS Glue Studio 中啟用異常偵測功能：**

1.  選擇作業中的 **Data Quality** 節點，然後選擇**異常偵測**索引標籤。切換以開啟**啟用異常偵測**。  
![\[螢幕擷取畫面顯示「啟用異常偵測」切換成開啟。這可以開啟或關閉。\]](http://docs.aws.amazon.com/zh_tw/glue/latest/dg/images/data-quality-enable-anomaly-detection.png)

1.  選擇**新增分析器**，定義要監視異常的資料。您可以填入的欄位有兩個：「統計資料」和「資料」。
   +  **統計資料**是有關資料形狀和其他屬性的資訊。您可以一次選擇一或多個統計資料，或選擇**所有統計資料**。統計資料包括：Completeness、Uniqueness、Mean、Sum、StandardDeviation、Entropy、DistinctValuesCount、UniqueValueRatio 等。如需詳細資訊，請參閱[分析器](dqdl.md#dqdl-analyzers)文件。
   +  **資料**是資料集中的資料欄。您可以選擇所有資料欄或個別資料欄。  
![\[螢幕擷取畫面顯示「統計資料」欄位和「資料」欄位。您可以選擇要套用至資料集的統計資料，以及要在哪些資料欄上進行。\]](http://docs.aws.amazon.com/zh_tw/glue/latest/dg/images/data-quality-add-analyzer.png)

1.  選擇**新增異常偵測範圍**來儲存變更。新增分析器後，您可以在**異常偵測範圍**區段中看到這些分析器。

    您也可以使用**動作**功能表來編輯分析器，或選擇**規則集編輯器**索引標籤，然後直接在規則集編輯器記事本中編輯分析器。您會在建立的任何規則下看到所儲存的分析器。

   ```
   Rules = [
   
   ]
   
   Analyzers = [
       Completeness “id”
   ]
   ```

 設定更新的規則集和分析器後， AWS Glue Data Quality 會持續監控傳入的資料串流。其可以透過提醒或任務停止發出潛在異常訊號，具體取決於您的設定。此主動監控有助於確保整個資料管道的資料品質和完整性。

 在下一節中，您將了解如何有效地監控系統識別的異常。您也將了解如何檢視和分析 Glue Data Quality AWS 收集的資料統計資料。此外，您將了解如何提供意見回饋給支援異常偵測功能的機器學習模型。此回饋迴圈對於改善模型的準確性，並確保其可以有效地偵測符合您特定業務需求和資料模式的異常至關重要。

# 檢視資料品質分數和異常
<a name="data-quality-viewing-scores-and-anomalies"></a>

 在本節中，我們將探索資料品質儀表板及其提供的不同功能。

## 視覺化並了解高階資料品質指標和趨勢
<a name="data-quality-visualize-metrics-and-trends"></a>

 任務成功後，選擇**資料品質**索引標籤以檢視資料品質分數和異常。

![\[螢幕擷取畫面顯示選取的「資料品質」索引標籤，以及分數和指標。\]](http://docs.aws.amazon.com/zh_tw/glue/latest/dg/images/data-quality-visualize-data-quality-metrics.png)


 「資料品質」索引標籤中的下列元件提供有用的資訊。

1.  選擇**資料品質**索引標籤，以檢視資料品質指標。

1.  選取特定任務執行 ID 以檢視「資料品質」分數。

1.  此窗格顯示三個重要資訊。您可以選擇每個資訊以導覽至特定的資料表，來檢視異常、資料統計資料或規則。
   +  設定規則時的「資料品質」分數。
   +  規則和分析器收集的統計資料數目。
   +  偵測到的異常總數。

1.  此趨勢圖表顯示了資料品質隨時間的變化趨勢。您可以將滑鼠的游標移至趨勢上，並前往資料品質分數下降的特定時間。

1.  隨時間變化的異常趨勢會顯示隨時間變化偵測到的異常數目。

1.  標籤：
   +  規則索引標籤是顯示所有規則和狀態清單的預設索引標籤。評估規則在動態規則檢視評估規則的實際值時很有用。
   +  「統計資料」索引標籤會列出所有統計資料，讓您檢視指標和隨時間變化的趨勢。
   +  「異常」索引標籤會顯示偵測到的異常清單。

## 檢視異常和訓練異常偵測演算法
<a name="data-quality-visualize-anomalies"></a>

![\[螢幕擷取畫面顯示具有指標的「異常」索引標籤。\]](http://docs.aws.amazon.com/zh_tw/glue/latest/dg/images/data-quality-visualize-anomaly-detection.png)


 上面影像的標註：

1.  偵測到異常時，按一下異常或選取「異常」索引標籤 

1.  AWS Glue Data Quality 提供異常、實際值、預測範圍的詳細說明 

1.  AWS Glue Data Quality 會顯示趨勢線。其具有實際值、根據實際值 (紅線) 的衍生趨勢、上限和下限 

1.  AWS Glue Data Quality 建議可用於擷取未來模式的資料品質規則。您可以複製建議的所有規則，並將其套用至資料品質節點，以有效地擷取這些模式。

1.  您可以提供機器學習 (ML) 模型的輸入來排除異常值，確保未來的執行可準確偵測異常。如果您未明確排除異常， AWS Glue Data Quality 會自動將其視為未來預測模型的一部分。請務必注意，只有最新的執行才會反映您提供的模型輸入。例如，如果您從先前幾次執行中恢復並排除異常點，除非您在最新執行中檢視和更新模型輸入，否則模型不會反映這些變更。模型將繼續使用先前提供的輸入，直到您在最近的執行中進行必要的調整為止。透過主動管理異常值的排除，您可以改善 ML 模型對特定資料模式和要求的異常構成的理解，從而隨著時間的推移實現更準確的異常偵測。

## 檢視一段時間內的資料統計資料並提供訓練輸入
<a name="data-quality-visualize-data-statistics-over-time"></a>

 有時，您可能想要檢視資料統計資料或資料描述檔，並隨時間推移檢視其進展。若要這樣做，請選擇**統計資料**或開啟**統計資料**索引標籤。然後，您可以檢視 Glue Data Quality AWS 收集的最新資料統計資料。

![\[螢幕擷取畫面會顯示「統計資料」索引標籤，其中包含資料集和資料欄統計資料。\]](http://docs.aws.amazon.com/zh_tw/glue/latest/dg/images/data-quality-visualize-data-statistics-over-time.png)


 按一下**檢視趨勢**會顯示每個統計資料如何隨時間推移的進展。

![\[螢幕擷取畫面會顯示「統計資料」索引標籤，其中包含資料集和資料欄統計資料。\]](http://docs.aws.amazon.com/zh_tw/glue/latest/dg/images/data-quality-view-trends-over-time.png)


1.  您可以為指定的資料欄選取統計資料 

1.  您可以檢視趨勢的進度 

1.  您可以選取異常值，然後選擇排除或包含這些值。透過提供此意見回饋，演算法將排除或包含已識別的異常資料點，並重新訓練模型。此重新訓練程序可確保準確的異常偵測繼續進行，因為模型會從您提供的意見回饋中學習哪些值應視為異常。

    透過此回饋迴圈，您可以改進演算法對特定資料模式和業務需求的異常構成的理解。透過排除不應被標記為異常的值，或包含遺漏的值，重新訓練的模型將更好地區分預期和真正異常的資料點。