

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

# 在 中以程式設計方式建置設定檔任務組態AWS Glue DataBrew
<a name="profile.configuration"></a>

在本節中，您可以找到描述檔任務步驟和函數的描述，以程式設計方式使用。您可以從AWS Command Line Interface(AWS CLI) 使用它們，或使用其中一個AWS SDKs。

在設定檔任務中，您可以自訂組態，以控制 DataBrew 如何評估您的資料集。您可以將組態套用至資料集，或將其套用至特定資料欄。您可以在建立設定檔任務時建置組態，然後隨時更新。

設定檔組態結構包含四個部分：
+ [ProfileColumns 區段](#profile-columns.statistics)
+ [DatasetStatisticsConfiguration 區段](#profile-dataset-stats-config)
+ [ColumnStatisticsConfigurations 區段](#profile-column-stats-config)
+ [用於設定 PII 的 EntityDetectorConfiguration 區段](#entity-detector-configuration)

以下是範例。

```
{
    "ProfileColumns": [
        {
            "Name": "example"
        },
        {
            "Regex": "example.*"
        }
    ],
    "DatasetStatisticsConfiguration": {
        "IncludedStatistics": [
            "CORRELATION"
        ],
        "Overrides": [
            {
                "Statistic": "CORRELATION",
                "Parameters": {
                    "columnSelectors": "[{\"name\":\"example\"}, {\"regex\":\"example.*\"}]"
                }
            }
        ]
    },
    "ColumnStatisticsConfigurations": [
        {
            "Selectors": [
                {
                    "Name": "example"
                }
            ],
            "Statistics": {
                "IncludedStatistics": [
                    "CORRELATION",
                    "DUPLICATE_ROWS_COUNT"
                ],
                "Overrides": [
                    {
                        "Statistic": "VALUE_DISTRIBUTION",
                        "Parameters": {
                            "binNumber": "10"
                        }
                    }
                ]
            }
        }
    ]
}
```

## ProfileColumns 區段
<a name="profile-columns.statistics"></a>

在結構的 `ProfileColumns`區段中，從資料集設定您要在設定檔任務中評估的資料欄。 `ProfileColumns`是資料欄選取器 (`Selectors`) 的清單。您可以在資料欄選取器中指定資料欄名稱或規則表達式。範例如下。

```
"ProfileColumns": [{"Name": "example"}, {"Regex": "example.*"}]
```

指定 `ProfileColumns` 時，只有名稱符合 中名稱或規則表達式的資料欄`ProfileColumns`才會包含在設定檔任務中。如果設定檔任務不支援所選資料欄的資料類型，DataBrew 會在任務執行期間略過選取的資料欄。

如果 ProfileColumns 未定義，設定檔任務會評估所有支援的資料欄。支援的欄是包含所支援資料類型資料的資料欄：`ByteType`、`ShortType`、`IntegerType`、`LongType`、`FloatType`、`String`、 `DoubleType`或 `Boolean`。

## DatasetStatisticsConfiguration 區段
<a name="profile-dataset-stats-config"></a>

在 結構的 `DatasetStatisticsConfiguration`區段中，您可以建置資料欄間評估的組態。組態包含 `IncludedStatistics`和 `Overrides`。範例如下。

```
"DatasetStatisticsConfiguration": {
    "IncludedStatistics": ["CORRELATION"],
    "Overrides": [
        {
            "Statistic": "CORRELATION",
            "Parameters": {
                "columnSelectors": "[{\"name\":\"example\"}, {\"regex\":\"example.*\"}]"
            }
        }
    ]
}
```

您可以將評估名稱新增至 ，以選取您想要擁有的評估`IncludedStatistics`。範例如下。

```
"IncludedStatistics": ["CORRELATION", "DUPLICATE_ROWS_COUNT"]
```

當您指定 時`IncludedStatistics`，設定檔任務中只會包含清單中的評估。如果 `IncludedStatistics`未定義，則設定檔任務會使用預設設定執行所有支援的評估。您可以將 NONE 新增至 以排除所有評估`IncludedStatistics`。範例如下。

```
"IncludedStatistics": ["NONE"]
```

### 資料集層級的可設定統計資料
<a name="statistics.table01"></a>

在您結構的 `DatasetStatisticsConfiguration`區段中，設定檔任務支援下表所示的評估。


| **統計資料名稱** | **Description** | **支援的資料類型** | **預設狀態** | **設定檔結果的屬性** | **設定檔結果的類型** | 
| --- | --- | --- | --- | --- | --- | 
| DUPLICATE\_ROWS\_COUNT | 資料集中重複資料列的計數 | 全部 | Enable | duplicateRowsCount | Int | 
| 相互關聯 | 兩欄之間的 Pearson 相關性係數 | number | Enable | 相互關聯 （在每個選取的欄中） | 物件 | 

在 中`IncludedStatistics`，您可以透過新增覆寫來覆寫每個評估的預設設定。每個覆寫都包含特定評估的名稱和參數映射。

在 中`DatasetStatisticsConfiguration`，設定檔任務支援`CORRELATION`覆寫。此覆寫會從所選資料欄清單中計算兩個資料欄之間的 Pearson 相關性係數。預設設定是選取前 10 個數字資料欄。您可以指定欄數或欄選取器清單，以覆寫預設設定。

`CORRELATION` 採用這些參數：
+ `columnNumber` – 數值資料欄的數量。設定檔任務會從資料集中選取前 *n* 個資料欄。此值應大於 1。使用 `"ALL"` 選取所有數值欄。
+ `columnSelectors:` – 欄選取器的清單。每個選取器都可以有欄名稱或規則表達式。

範例如下。

```
{
    "Statistic": "CORRELATION",
    "Parameters": {
        "columnSelectors": "[{\"name\":\"example\"}, {\"regex\":\"example.*\"}]"
    }
}
```

## ColumnStatisticsConfigurations 區段
<a name="profile-column-stats-config"></a>

在 結構的 `ColumnStatisticsConfigurations`區段中，您可以針對特定資料欄建置組態。 `ColumnStatisticsConfigurations`是`ColumnStatisticsConfiguration`設定清單。在 中`ColumnStatisticsConfiguration`，有 `Selectors`、資料欄選取器清單，以及`Statistics`用於統計資料組態的 。範例如下。

```
{ 
    "Selectors": [{"Name": "example"}
    ],
    "Statistics": {
       "IncludedStatistics": ["CORRELATION", "DUPLICATE_ROWS_COUNT"]
        "Overrides": [
            {
                "Statistic": "VALUE_DISTRIBUTION",
                "Parameters": {
                    "binNumber": "10"
                }
            }
        ]
    }
}
```

`Selectors` 是欄選取器的清單。如同 `ProfileColumns`，您可以在每個資料欄選擇器中指定資料欄名稱或規則表達式。當您指定 時`Selectors`，資料欄組態會套用至符合 中任何資料欄選擇器的資料欄`Selectors`。否則，組態會套用至所有支援的欄。

在 中`Statistics`，您可以覆寫所選資料欄的設定。如同 `DatasetStatisticsConfiguration`， `Statistics`具有 `IncludedStatistics`和 `Overrides`。

若要選取您想要的評估，請將評估名稱新增至 `IncludedStatistics`。

```
"IncludedStatistics": ["CORRELATION", "DUPLICATE_ROWS_COUNT"]                    
```

當您指定 時`IncludedStatistics`，設定檔任務中只會包含清單中的評估。否則，設定檔任務會使用預設設定執行所有支援的評估。

您可以將 新增至 `NONE`以排除所有評估`IncludedStatistics`。

```
"IncludedStatistics": ["NONE"]                    
```

 在某些情況下， 中可能有多個組態`ColumnStatisticsConfigurations`具有不同的`IncludedStatistics`組態，您可以套用至相同的資料欄。在這些情況下，設定檔任務會挑選 中的最後一個組態，`ColumnStatisticsConfigurations`並將其套用至`IncludedStatistics`選取的資料欄。新的組態會覆寫較舊的組態。

### 資料欄層級的可設定統計資料
<a name="statistics.table02"></a>

在 中`ColumnStatisticsConfigurations`，設定檔任務支援下表所示的評估。

此資料表`number`中支援的資料類型 表示屬性的資料類型為下列其中一項：`ByteType`、`ShortType`、`IntegerType``LongType`、`FloatType`、 或 `DoubleType`。


| **統計資料名稱** | **Description** | **支援的資料類型** | **預設狀態** | **設定檔結果的屬性** | **設定檔結果的類型** | 
| --- | --- | --- | --- | --- | --- | 
| – | 欄的名稱。 | 全部 | – | name | string | 
| – | 資料欄的資料類型。 | 全部 | – | type | string | 
| DISTINCT\_VALUES\_COUNT | 不同值的數量。*不同的值*是至少出現一次的值。 | number/boolean/string | 已啟用 | distinctValuesCount | Int | 
| 熵 | Entropy （資訊理論）。 | number/boolean/string | 已啟用 | 熵 | Double | 
| INTER\_QUARTILE\_RANGE | 範圍介於數字的第 25% 到第 75% 之間。 | number | 已啟用 | interquartileRange | Double | 
| KURTOSIS | 資料欄的峰度。 | number | 已啟用 | 峰度 | Double | 
| MAX | 資料欄中的最大值。 | number/string 長度 | 已啟用 | max | Int/Double | 
| MAXIMUM\_VALUES | 資料欄中的最大值清單及其計數。 | number | 已啟用 | maximumValues | 清單 | 
| MEAN | 資料欄中值的平均值。 | number/string 長度 | 已啟用 | mean | Double | 
| MEDIAN | 資料欄中值的中位數。 | number/string 長度 | 已啟用 | median | Double | 
| MEDIAN\_ABSOLUTE\_DEVIATION | 每個資料點與數值資料欄中位數之間的絕對差異中位數。 | number | 已啟用 | medianAbsoluteDeviation | Double | 
| MIN | 資料欄中的最小值。 | number/string 長度 | 已啟用 | min | Int/Double | 
| MINIMUM\_VALUES | 資料欄中的最小值及其計數的清單。 | number | 已啟用 | minimumValues | 清單 | 
| MISSING\_VALUES\_COUNT | 資料欄中遺失值的數量。Null 和空白字串視為遺失。 | 全部 | 已啟用 | missingValuesCount | Int | 
| MODE | 資料欄中最常出現的值。如果經常出現數個值，則模式是其中一個值。 | number/string 長度 | 已啟用 | 模式 | Int/Double | 
| MOST\_COMMON\_VALUES | 欄中最常見的值清單。 | number/boolean/string | 已啟用 | mostCommonValues | 清單 | 
| OUTLIER\_DETECTION | 透過 Z\_score 演算法偵測欄中的極端值。計算極端值的數量，並從偵測到的極端值擷取範例清單。 | number/string 長度 | 已啟用 | zScoreOutliersCount、zScoreOutliersSample | Int/List | 
| 百分位數 | 數值欄的百分位數值 (5%、25%、75%、95%)。 | number | 已啟用 | 百分位數 5、百分位數 25、百分位數 75、百分位數 95 | Double | 
| RANGE | 資料欄中的值範圍。 | number | 已啟用 | range | Int/Double | 
| 偏斜 | 資料欄中值的偏斜。 | number | 已啟用 | 偏斜 | Double | 
| STANDARD\_DEVIATION | 資料欄中值的無偏差樣本標準差。 | number/string 長度 | 已啟用 | standardDeviation | Double | 
| SUM | 資料欄中的值總和。 | number | 已啟用 | sum | Int/Double | 
| UNIQUE\_VALUES\_COUNT | 唯一值的數量。唯一值表示該值僅顯示一次。 | number/boolean/string | 已啟用 | uniqueValuesCount | Int | 
| VALUE\_DISTRIBUTION | 依範圍測量資料欄中值的分佈。 | number/string 長度 | 已啟用 | valueDistribution | 清單 | 
| VARIANCE | 資料欄中值的差異。 | number | 已啟用 | variance | Double | 
| Z\_SCORE\_DISTRIBUTION | 依範圍測量資料點 z 分數的分佈。 | number | 已啟用 | zScoreDistribution | 清單 | 
| ZEROS\_COUNT | 資料欄中的零 (0) 數目。 | number | 已啟用 | zerosCount | Int | 

在 中`IncludedStatistics`，您可以透過新增覆寫來覆寫每個評估的預設參數。每個覆寫都包含特定評估的名稱和參數映射。

## ColumnStatisticsConfigurations 欄的參數
<a name="profile-column-parameters"></a>

在 中`ColumnStatisticsConfigurations`，設定檔任務支援下列參數。

在某些情況下， 中可能有多個組態`ColumnStatisticsConfigurations`具有不同的`IncludedStatistics`組態，您可以套用至相同的資料欄。在這些情況下，設定檔任務會挑選 中的最後一個組態，`ColumnStatisticsConfigurations`並將其套用至`IncludedStatistics`選取的資料欄。新的組態會覆寫較舊的組態。

### MAXIMUM\_VALUES
<a name="profile-column-parameter-MAXIMUM-VALUES"></a>

列出數值欄中的最大值及其計數。預設清單大小為 5。您可以指定 的值來覆寫清單大小`sampleSize`。

**設定**

`sampleSize` – 清單的大小，包含數值欄中值的最大數量和計數。此值應大於 0。使用 `"ALL"` 列出所有值。

**範例**

```
{ 
    "Statistic": "MAXIMUM_VALUES",
    "Parameters": {
        "sampleSize": "5"
    }
}
```

### MINIMUM\_VALUES
<a name="profile-column-parameter-MINIMUM-VALUES"></a>

列出數值欄中的最小值及其計數。預設清單大小為 5。您可以指定 的值來覆寫清單大小`sampleSize`。

**設定**

`sampleSize` – 清單的大小，包含數值欄中值的最大數量和計數。此值應大於 0。使用 `"ALL"` 列出所有值。

**範例**

```
{
    "Statistic": "MINIMUM_VALUES",
    "Parameters": {
        "sampleSize": "5"
    }
}
```

### MOST\_COMMON\_VALUES
<a name="profile-column-parameter-MOST-COMMON-VALUES"></a>

列出資料欄中最常見的值及其計數。預設清單大小為 50。您可以指定 的值來覆寫清單大小`sampleSize`。

**設定**

`sampleSize` – 清單的大小，包含數值欄中值的最大數量和計數。此值應大於 0。使用 `"ALL"` 列出所有值。

**範例**

```
{
    "Statistic": "MOST_COMMON_VALUES",
    "Parameters": {
        "sampleSize": "50"
    }
}
```

### OUTLIER\_DETECTION
<a name="profile-column-parameter-OUTLIER-DETECTION"></a>

依 Z\_score 演算法偵測數值欄或字串欄中的極端值 （根據字串長度）。

您的設定檔任務會計算極端值數量，並產生極端值及其 z 分數的範例清單。範例清單會依 z-score 的絕對值排序。預設清單大小為 50。

當 Z\_Score 演算法偏離平均值超過標準差閾值時，會將值識別為極端值。預設極端值閾值為 3。

您可以提供另一個閾值，即輕度閾值，以取得更多資訊。您的輕度閾值應小於閾值。此功能預設為關閉。指定輕微閾值時，您的設定檔任務會再傳回一個計數 `zScoreMildOutliersCount`。此外，在這種情況下， `zScoreOutliersSample`可以包含輕度閾值極端值的範例。

**設定**
+ `threshold` – 偵測極端值時要使用的閾值。此值應該大於或等於 0。
+ `mildThreshold` – 偵測極端值時要使用的輕微閾值。此值應該大於或等於 0 且小於 `threshold`。
+ `sampleSize` – 包含欄中極端值的清單大小。使用 `"ALL"` 列出所有值。

**範例**

```
{
    "Statistic": "OUTLIER_DETECTION",
    "Parameters": {
        "threshold": "5",
        "mildThreshold": "3.5",
        "sampleSize": "20"
    }
}
```

### VALUE\_DISTRIBUTION
<a name="profile-column-parameter-VALUE-DISTRIBUTION"></a>

依值的範圍測量資料欄中值的分佈。設定檔任務會依數值範圍將數值欄或字串欄 （根據字串長度） 中的值分組到 bin，並產生 bin 清單。儲存貯體是連續的，而儲存貯體的上限是下一個儲存貯體的下限。

**設定**

` binNumber` – 儲存貯體數量。此值應大於 0。

**範例**

```
{
    "Statistic": "VALUE_DISTRIBUTION",
    "Parameters": {
        "binNumber": "5"
    }
}
```

### Z\_SCORE\_DISTRIBUTION
<a name="profile-column-parameter-Z-SCORE-DISTRIBUTION"></a>

測量數值欄中值 z 分數的分佈。設定檔任務會依數值範圍將值的 z 分數分組到 bin，並產生 bin 清單。儲存貯體是連續的，而儲存貯體的上限是下一個儲存貯體的下限。

**設定**

` binNumber` – 儲存貯體數量。此值應大於 0。

**範例**

```
{
    "Statistic": "Z_SCORE_DISTRIBUTION",
    "Parameters": {
        "binNumber": "5"
    }
}
```

## 用於設定 PII 的 EntityDetectorConfiguration 區段
<a name="entity-detector-configuration"></a>

在 結構的 `EntityDetectorConfiguration`區段中，您可以設定資料集中的實體類型，讓 DataBrew 偵測為設定檔任務**的個人身分識別資訊** (PII)。

### EntityTypes
<a name="w2aac19c15c13c23b5"></a>

您可以設定希望 DataBrew 偵測為設定檔任務 PII 的實體類型。當 `EntityDetectorConfiguration` 未定義時，實體偵測會停用。您可以在資料集中偵測到下列實體類型：
+ USA\_SSN
+ EMAIL
+ USA\_ITIN
+ USA\_PASSPORT\_NUMBER
+ PHONE\_NUMBER
+ USA\_DRIVING\_LICENSE
+ BANK\_ACCOUNT
+ CREDIT\_CARD
+ IP\_ADDRESS
+ MAC\_ADDRESS
+ USA\_DEA\_NUMBER
+ USA\_HCPCS\_CODE
+ USA\_NATIONAL\_PROVIDER\_IDENTIFIER
+ USA\_NATIONAL\_DRUG\_CODE
+ USA\_HEALTH\_INSURANCE\_CLAIM\_NUMBER
+ USA\_MEDICARE\_BENEFICIARY\_IDENTIFIER
+ USA\_CPT\_CODE
+ PERSON\_NAME
+ DATE

`USA_ALL` 也支援實體類型群組，並包含上述所有實體類型，但 `PERSON_NAME`和 除外`DATE`。

的類型`EntityTypes`是字串的陣列。

### AllowedStatistics
<a name="w2aac19c15c13c23b7"></a>

設定允許在包含偵測到實體的資料欄上執行的統計資料。如果 `AllowedStatistics`未定義，則不會在包含偵測到實體的資料欄上計算統計資料。[資料欄層級的可設定統計資料](#statistics.table02) 如需 `AllowedStatistics` 參數的有效值清單，請參閱 。

的類型`AllowedStatistics`是 `AllowedStatistics` 物件的陣列。