

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

# Export (匯出)
<a name="data-wrangler-data-export"></a>

在 Data Wrangler 流程中，您可以匯出您所做的資料處理管道部分或全部轉換。

*Data Wrangler *是您對資料執行的一系列資料準備步驟。在資料準備中，您可以對資料執行一次或多次轉換。每個轉換都是使用轉換步驟完成的。流程具有一系列節點，代表匯入資料以及您已執行的轉換。如需節點範例，請參閱下列影像。

![Data Wrangler 主控台中的範例資料流程。](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/mohave/data-wrangler-destination-nodes-photo-0.png)


上圖顯示了具有兩個節點的 Data Wrangler 流程。**來源 - 取樣**節點會顯示您已從中匯入資料的資料來源。**資料類型**節點表示 Data Wrangler 已執行轉換，將資料集轉換成可用的格式。

您新增至 Data Wrangler 流程的每個轉換都會顯示為額外節點。關於您可以新增的轉和，請參閱[轉換資料](data-wrangler-transform.md)。下列影像顯示 Data Wrangler 流程，該流程具有可變更資料集中資料欄名稱的**重新命名資料欄**節點。

您可以將資料轉換匯出為以下功能：
+ Amazon S3
+ 管道
+ Amazon SageMaker Feature Store
+ Python 程式碼

**重要**  
我們建議您使用 IAM `AmazonSageMakerFullAccess`受管政策來授予使用 Data Wrangler 的 AWS 許可。如果您不使用受管政策，則可以使用 IAM 政策，讓 Data Wrangler 存取 Amazon S3 儲存貯體。如需關於政策的詳細資訊，請參閱[安全與許可](data-wrangler-security.md)。

匯出資料流程時，您需要支付所使用的 AWS 資源費用。您可以使用成本分配標籤來組織和管理這些資源的成本。您可以針對使用者設定檔建立這些標籤，Data Wrangler 會自動將這些標籤套用至用於匯出資料流程的資源。如需詳細資訊，請參閱[使用成本分配標籤](https://docs.aws.amazon.com//awsaccountbilling/latest/aboutv2/cost-alloc-tags.html)。

## 匯出至 Amazon S3
<a name="data-wrangler-data-export-s3"></a>

Data Wrangler 可讓您將資料匯出到 Amazon S3 儲存貯體中的某個位置。您可以使用下列其中一種方法指定位置：
+ 目的地節點 — Data Wrangler 在處理資料之後儲存資料的位置。
+ 匯出至 — 將轉換產生的資料匯出到 Amazon S3。
+ 匯出資料 — 針對小型資料集，可以快速匯出已轉換的資料。

閱讀下列各節來進一步瞭解這些方法。

------
#### [ Destination Node ]

如果您想要輸出一系列在 Amazon S3 已執行的資料處理步驟，請建立目標節點。*目標節點*會告訴 Data Wrangler 在您處理完資料之後儲存資料的位置。建立目的節點之後，您將建立輸出資料的處理工作。*處理任務*是 Amazon SageMaker Processing 任務。當您使用目標節點時，它會執行輸出已轉換至 Amazon S3 的資料所需的運算資源。

您可以使用目標節點匯出部分轉換或您在 Data Wrangler 流程中進行的所有轉換。

您可以使用多個目標節點來匯出不同的轉換或一組轉換。下列範例顯示出單一 Data Wrangler 流程中的兩個目標節點。

![顯示 Data Wrangler 主控台中兩個目標節點的範例資料流程。](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/mohave/data-wrangler-destination-nodes-photo-4.png)


您可以使用下列程序建立目標節點，並將其匯出至 Amazon S3 儲存貯體。

若要匯出資料流程，請建立目標節點和 Data Wrangler 任務以匯出資料。建立 Data Wrangler 任務會啟動 SageMaker Processing 任務以匯出流程。建立完成後，您要選擇要匯出的目標節點。
**注意**  
您可以在 Data Wrangler 流程中選擇**建立任務**，以檢視使用處理任務的指示。

使用下列程序以建立目標節點。

1. 選擇代表您要匯出之轉換的節點旁邊的 **\+**。

1. 選擇 **Add destination** (新增目的地)。  
![顯示如何在 Data Wrangler 主控台中新增目的地的範例資料流程。](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/mohave/destination-nodes/destination-nodes-add-destination-0.png)

1. 選擇 **Amazon S3**。  
![顯示如何在 Data Wrangler 主控台中新增目的地的範例資料流程。](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/mohave/destination-nodes/destination-nodes-add-destination-S3-selected.png)

1. 為下列欄位：
   + **資料集名稱** — 您為要匯出的資料集指定的名稱。
   + **檔案類型** — 您要匯出的檔案格式。
   + **分隔符號** (僅適用於 CSV 和 Parquet 檔案) — 用來分隔其他值的值。
   + **壓縮** (僅限 CSV 和 Parquet 檔案) — 用於減少檔案大小的壓縮方法。您可以使用下列壓縮方式：
     + bzip2
     + deflate
     + gzip
   + (選用) **Amazon S3 位置** — 您用來輸出檔案的 S3 位置。
   + (選用) **分割區數目** — 您要當作處理任務輸出加以寫入的資料集數目。
   + (選用) **依資料欄分割** — 從資料欄寫入具有相同唯一值的所有資料。
   + (選用) **推論參數** — 選取**產生推論成品**，會將您在 Data Wrangler 流程中使用的所有轉換，套用至進入推論管道的資料。管道中的模型會針對轉換的資料進行預測。

1. 選擇 **Add destination** (新增目的地)。

使用下列程序以建立處理任務。

從**資料流程**頁面建立任務，然後選擇要匯出的目標節點。
**注意**  
您可以在 Data Wrangler 流程中選擇**建立任務**，以檢視建議處理任務的指示。

1. 選擇**建立任務**。下列影像顯示選取**建立任務**之後所顯示的窗格。  
![Data Wrangler 主控台中的範例資料流程建立任務窗格。](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/mohave/destination-nodes/destination-nodes-create-job.png)

1. 在**任務名稱**中指定匯出任務的名稱。

1. 選擇您要匯出的目標節點。

1. （選用） 指定 AWS KMS 金鑰 ARN。 AWS KMS 金鑰是密碼編譯金鑰，可用來保護資料。如需 AWS KMS 金鑰的詳細資訊，請參閱 [AWS Key Management Service](https://docs.aws.amazon.com//kms/latest/developerguide/overview.html)。

1. (選用) 在**訓練的參數**之下。如果您已完成下列動作，請選擇**重新調整**：
   + 取樣您的資料集
   + 套用轉換，該轉換用您的資料在資料集中建立新資料欄

   如需有關重新調整在整個資料集中所進行轉換的詳細資訊，請參閱[將轉換重新調整為整個資料集並導出](#data-wrangler-data-export-fit-transform)。
**注意**  
針對影像資料，Data Wrangler 會匯出您對所有影像做的轉換。重新調整轉換不適用於您的使用案例。

1. 選擇**設定作業**。下列影像顯示**設定作業**頁面。  
![Data Wrangler 主控台中的範例資料流程設定任務頁面。](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/mohave/destination-nodes/destination-nodes-configure-job.png)

1. (選用) 設定 Data Wrangler 作業。您可以使用下列設定：
   + **任務組態**
   + **Spark 記憶體組態**
   + **網路組態**
   + **Tags** (標籤)
   + **參數**
   + **關聯排程**

1. 選擇**執行**。

------
#### [ Export to ]

除了使用目標節點之外，您還可以使用**匯出至**選項，使用 Jupyter 筆記本將 Data Wrangler 流程匯出到 Amazon S3。您可以選擇 Data Wrangler 流程中的任何資料節點並將其匯出。匯出資料節點會匯出節點所代表的轉換，以及其先前的轉換。

使用下列程序產生 Jupyter 筆記本並執行它，將 Data Wrangler 流程匯出到 Amazon S3。

1. 選擇欲匯出節點旁的 **\+**。

1. 選擇**匯出至**。

1. 選擇 **Amazon S3 (透過 Jupyter 筆記本**)。

1. 執行 Jupyter 筆記本  
![展示如何在 Data Wrangler 主控台中匯出 Data Wrangler 流程的範例資料流程。](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/mohave/data-wrangler-destination-nodes-photo-export-to.png)

當您執行筆記本時，它會在與 Data Wrangler 流程 AWS 區域 相同的 中匯出資料流程 (.flow 檔案）。

筆記本提供的選項可讓您用來配置處理任務及其輸出的資料。

**重要**  
我們為您提供任務組態以設定資料的輸出。針對分割和驅動程式記憶體選項，我們強烈建議您不要指定組態，除非您對其相當熟悉。

在**任務組態**下，您可以設定下列項目：
+ `output_content_type` — 輸出檔案的內容類型。使用 `CSV` 做為預設格式，但您可以指定 `Parquet`。
+ `delimiter` — 寫入 CSV 檔案時，用來分隔資料集中值的字元。
+ `compression` — 如果已設定，則壓縮輸出檔案。預設會使用 gzip 壓縮格式。
+ `num_partitions` — Data Wrangler 當作輸出寫入的分割或檔案數目。
+ `partition_by` — 您用來分割輸出的資料欄名稱。

若要將輸出檔案格式從 CSV 變更為Parquet，請將值從 `"CSV"` 變更為 `"Parquet"`。針對先前資料欄的其餘部分，請取消包含要指定的欄位的資料行註解。

在**(選用) 設定 Spark 叢集驅動程式記憶體**下，您可以在 `config` 字典中設定任務的 Spark 屬性，例如 Spark 驅動程式記憶體。

以下顯示 `config` 字典。

```
config = json.dumps({
    "Classification": "spark-defaults",
    "Properties": {
        "spark.driver.memory": f"{driver_memory_in_mb}m",
    }
})
```

若要將組態套用至處理任務，請取消下列資料行的註解：

```
# data_sources.append(ProcessingInput(
#     source=config_s3_uri,
#     destination="/opt/ml/processing/input/conf",
#     input_name="spark-config",
#     s3_data_type="S3Prefix",
#     s3_input_mode="File",
#     s3_data_distribution_type="FullyReplicated"
# ))
```

------
#### [ Export data ]

如果您要快速匯出的小型資料集中的轉換，可以使用**匯出資料**方法。當您開始選擇**匯出資料**時，Data Wrangler 會同步運作將您轉換的資料匯出到 Amazon S3。在 Data Wrangler 完成匯出資料或取消作業之前，您無法使用 Data Wrangler。

如需有關在 Data Wrangler 流程中使用**匯出資料**方法的資訊，請參閱下列程序。

若要使用**匯出資料**方法：

1. 在 Data Wrangler 流程中開啟 (連按兩下) 即可選擇節點。  
![顯示如何在 Data Wrangler 主控台中匯出資料的範例資料流程。](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/mohave/export-s3.png)

1. 設定您要匯出資料的方式。

1. 選擇**開始匯出**。

------

將資料流程匯出到 Amazon S3 儲存貯體時，Data Wrangler 會將流程檔案的副本儲存在 S3 儲存貯體中。它會將流程檔案儲存為包含 *data\_wrangler\_flows* 的字首。如果您使用預設的 Amazon S3 儲存貯體來存放流程檔案，則其會使用下列命名慣例：`sagemaker-{{region}}-{{account number}}`。例如，如果您的帳戶號碼是 111122223333，而您在 us-east-1 中使用 Studio Classic，則匯入的資料集會存放在 `sagemaker-us-east-1-111122223333` 中。在此範例中，您在 us-east-1 中建立的 .flow 檔案會儲存在 `s3://sagemaker-{{region}}-{{account number}}/data_wrangler_flows/` 中。

## 匯出至 Pipelines
<a name="data-wrangler-data-export-pipelines"></a>

當您想要建立和部署大規模的機器學習 (ML) 工作流程時，可以使用 Pipelines 來建立能管理和部署 SageMaker AI 任務的工作流程。您可以使用 Pipelines 建立工作流程，以管理 SageMaker AI 資料準備、模型訓練和模型部署任務。您可以使用 Pipelines 來利用 SageMaker AI 提供的第一方演算法。如需 Pipelines 的詳細資訊，請參閱 [SageMaker Pipelines](https://docs.aws.amazon.com/sagemaker/latest/dg/pipelines.html)。

當您將資料流程中的一或多個步驟匯出至 Pipelines 時，Data Wrangler 會建立 Jupyter 筆記本，您可以使用該筆記本來定義、具現化、執行和管理管道。

### 使用 Jupyter 筆記本建立管道
<a name="data-wrangler-pipelines-notebook"></a>

使用下列程序建立 Jupyter 筆記本，以將 Data Wrangler 流程匯出至 Pipelines。

使用下列程序產生 Jupyter 筆記本並執行，以將 Data Wrangler 流程匯出至 Pipelines。

1. 選擇欲匯出的節點旁的 **\+** 號。

1. 選擇**匯出至**。

1. 選擇 **Pipelines (透過 Jupyter 筆記本)**。

1. 執行 Jupyter 筆記本。

![展示如何在 Data Wrangler 主控台中匯出 Data Wrangler 流程的範例資料流程。](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/mohave/data-wrangler-destination-nodes-photo-export-to.png)


您可以使用 Data Wrangler 產生的 Jupyter 筆記本來定義管道。管道包括 Data Wrangler 流程所定義的資料處理步驟。

您可以將步驟新增至筆記本中下列程式碼的 `steps` 清單，以將其他步驟新增至管道：

```
pipeline = Pipeline(
    name=pipeline_name,
    parameters=[instance_type, instance_count],
    steps=[step_process], #Add more steps to this list to run in your Pipeline
)
```

如需定義管道的詳細資訊，請參閱[定義 SageMaker AI Pipeline](https://docs.aws.amazon.com/sagemaker/latest/dg/define-pipeline.html)。

## 匯出至推論端點
<a name="data-wrangler-data-export-inference"></a>

透過從 Data Wrangler 流程建立 SageMaker AI 序列推論管道，使用 Data Wrangler 流程在推論時處理資料。推論管道是一系列步驟，可讓經過訓練的模型對新資料進行預測。Data Wrangler 中的序列推論管道可轉換原始資料，並將其提供給機器學習模型以進行預測。您可以從 Studio Classic 內的 Jupyter 筆記本建立、執行和管理推論管道。如需存取筆記本的詳細資訊，請參閱[使用 Jupyter 筆記本建立推論端點](#data-wrangler-inference-notebook)。

在筆記本中，您可以訓練機器學習模型，也可以指定您已經訓練過的模型。您可以使用 Amazon SageMaker Autopilot 或 XGBoost 來訓練模型，使用您在 Data Wrangler 流程中轉換的資料來訓練模型。

管道具有執行批次或即時推論的功能。您也可以將 Data Wrangler 流程新增至 SageMaker Model Registry。若要取得關於託管模型的詳細資訊，請參閱[多模型端點](multi-model-endpoints.md)。

**重要**  
如果 Data Wrangler 流程具有下列轉換，則無法將其匯出至推論端點：  
Join
串連
分組依據
如果您必須使用前述轉換來準備資料，請使用下列程序。  
建立 Data Wrangler 流程。
套用不支援的先前轉換。
將資料匯出至 Amazon S3 儲存貯體。
建立個別 Data Wrangler 流程。
匯入您從先前流程匯出的資料。
套用剩餘的轉換。
使用我們提供的 Jupyter 筆記本建立序列推論管道。
如需將資料匯出至 Amazon S3 儲存貯體的詳細資訊，請參閱[匯出至 Amazon S3](#data-wrangler-data-export-s3)。如需開啟用來建立序列推論管道的 Jupyter 筆記本詳細資訊，請參閱[使用 Jupyter 筆記本建立推論端點](#data-wrangler-inference-notebook)。

Data Wrangler 會忽略在推論時移除資料的轉換。例如，如果您使用**刪除遺失**的組態，則 Data Wrangler 會忽略 [處理缺少值](data-wrangler-transform.md#data-wrangler-transform-handle-missing) 轉換。

如果您已將重新調整整個資料集的轉換，則轉換會繼承至您的推論管道。例如，如果您使用中位數值來推算缺少的值，則重新調整轉換的中位數值會套用至您的推論請求。您可以在使用 Jupyter 筆記本或將資料匯出至推論管道時，重新調整 Data Wrangler 流程的轉換。如需關於重新調整轉換的詳細資訊，請參閱[將轉換重新調整為整個資料集並導出](#data-wrangler-data-export-fit-transform)。

序列推論管道支援輸入和輸出字串的下列資料類型。每種資料類型都有一組請求。

**支援的資料類型**
+ `text/csv` — CSV 字串的資料類型
  + 字串不能有標題。
  + 用於推論管道的功能必須與訓練資料集中的功能順序相同。
  + 功能之間必須有逗號分隔符號。
  + 記錄必須以換行字元分隔。

  以下範例是您可以在推論請求中提供的有效格式 CSV 字串。

  ```
  abc,0.0,"Doe, John",12345\ndef,1.1,"Doe, Jane",67890                    
  ```
+ `application/json` — JSON 字串的資料類型
  + 用於推論管道中的資料集功能必須與訓練資料集中的功能順序相同。
  + 資料必須具有特定的結構描述。您可以將結構描述定義為具有一組 `features` 的單一 `instances` 物件。每個 `features` 物件都代表一個觀察。

  以下範例是您可以在推論請求中提供的有效格式 JSON 字串。

  ```
  {
      "instances": [
          {
              "features": ["abc", 0.0, "Doe, John", 12345]
          },
          {
              "features": ["def", 1.1, "Doe, Jane", 67890]
          }
      ]
  }
  ```

### 使用 Jupyter 筆記本建立推論端點
<a name="data-wrangler-inference-notebook"></a>

使用下列程序匯出 Data Wrangler 流程，以建立推論管道。

若要使用 Jupyter 筆記本建立推論管道，請執行下列動作。

1. 選擇欲匯出節點旁的 **\+**。

1. 選擇**匯出至**。

1. 選擇 **SageMaker AI Inference Pipeline (透過 Jupyter 筆記本)**。

1. 執行 Jupyter 筆記本。

當您執行 Jupyter 筆記本時，它會建立推論流程成品。推論流程成品是 Data Wrangler 流程檔案，其中包含用於建立序列推論管道的其他中繼資料。您要匯出的節點會包含先前節點的所有轉換。

**重要**  
Data Wrangler 需要推論流程成品才能執行推論管道。您無法使用自己的流程檔案做為成品。您必須使用上述程序來建立。

## 匯出為 Python 程式碼
<a name="data-wrangler-data-export-python-code"></a>

若要將資料流程中的所有步驟匯出至可手動整合至任何資料處理工作流程的 Python 檔案，請使用下列程序。

使用下列程序產生 Jupyter 筆記本並執行它，將 Data Wrangler 流程匯出為 Python 程式碼。

1. 選擇欲匯出節點旁的 **\+**。

1. 選擇**匯出至**。

1. 選擇 **Python 程式碼**。

1. 執行 Jupyter 筆記本。

![展示如何在 Data Wrangler 主控台中匯出 Data Wrangler 流程的範例資料流程。](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/mohave/data-wrangler-destination-nodes-photo-export-to.png)


您可能需要設定 Python 指令碼，使其在您的管道中執行。例如，如果您正在執行 Spark 環境，請確定您從有權存取 AWS 資源的環境執行指令碼。

## 匯出至 Amazon SageMaker Feature Store
<a name="data-wrangler-data-export-feature-store"></a>

您可以使用 Data Wrangler 將您建立的功能匯出至 Amazon SageMaker Feature Store。特徵是資料集中的資料欄。特徵商店是特徵及其關聯中繼資料的集中儲存區。您可以使用特徵商店為機器學習 (ML) 開發建立、共用和管理策劃的資料。集中式儲存可以您更輕易發掘資料且可重複使用。如需有關特徵商店的詳細資訊，請參閱 [Amazon SageMaker Feature Store](https://docs.aws.amazon.com/sagemaker/latest/dg/feature-store.html)。

特徵商店的核心概念是一個特徵群組。特徵群組是特徵、其記錄 (觀察) 和關聯中繼資料的集合。它類似於資料庫中的資料表。

您可以使用 Data Wrangler 執行以下其中一項：
+ 使用新記錄更新既有特徵群組。記錄是資料集中的觀察。
+ 從 Data Wrangler 流程中的節點建立新特徵群組。Data Wrangler 將資料集中的觀察加入為特徵群組中的記錄。

如果您要更新現有的特徵群組，則資料集的結構定義必須與特徵群組的結構描述相符。特徵群組中的所有記錄都會被取代為資料集中的觀察。

您可以使用 Jupyter 筆記本或目標節點，用資料集中的觀察更新您的特徵群組。

如果具有 Iceberg 表格格式的特徵群組具有自訂的離線儲存加密金鑰，則請確保授與您用於 Amazon SageMaker Processing 任務的 IAM 權限，以使用該金鑰。您至少必須授予其權限，以便加密即將寫入 Amazon S3 的資料。若要授予權限，請讓 IAM 角色能夠使用 [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html)。如需授予 IAM 角色許可以使用 AWS KMS 金鑰的詳細資訊，請參閱 [https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html)

------
#### [ Destination Node ]

如果您想要輸出一系列在特徵群組已執行的資料處理步驟，可以建立目標節點。當您建立並執行目標節點時，Data Wrangler 會使用您的資料更新特徵群組。您也可以從目標節點使用者介面建立新的特徵群組。建立目標節點之後，您將建立輸出資料的處理工作。處理任務是 Amazon SageMaker Processing 任務。當您使用目標節點時，它會執行輸出已轉換至特徵群組的資料所需的運算資源。

您可以使用目標節點匯出部分轉換或您在 Data Wrangler 流程中進行的所有轉換。

使用以下程序建立目標節點，以使用資料集中的觀察更新特徵群組。

若要使用目標節點更新特徵群組，請執行以下步驟。
**注意**  
您可以在 Data Wrangler 流程中選擇**建立任務**，以檢視使用處理任務來更新特徵群組的指示。

1. 選擇包含您要匯出之資料集的節點旁邊的 **\+** 符號。

1. 在**新增目的地**下，選擇 **SageMaker AI 特徵存放區**。  
![顯示如何在 Data Wrangler 主控台中新增目的地的範例資料流程。](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/mohave/feature-store-destination-node-selection.png)

1. 選擇 (連按兩下) 特徵群組。Data Wrangler 會檢查特徵群組的結構描述是否符合您用來更新特徵群組的資料結構描述。

1. (選用) 針對同時具有線上儲存和離線儲存的特徵群組，選請選擇**僅匯出供離線儲存**。此選項只會使用資料集的觀察來更新離線儲存。

1. Data Wrangler 驗證資料集的結構描述之後，請選擇**新增**。

依照下列程序使用資料集中的資料建立新的特徵群組。

您可透過下列其中一種方式儲存您的特徵群組：
+ 線上 — 提供即時查閱記錄的低延遲、高可用性快取的特徵群組。線上儲存可讓您快速存取特徵群組中記錄的最新值。
+ 離線 — 將您特徵群組的資料儲存在 Amazon S3 儲存貯體中。當您不需要低延遲 (低於一秒) 讀取時，您可以將資料離線儲存。您可以將離線儲存用於資料探索、模型訓練和批次推論中使用的特徵。
+ 線上和離線 — 將您的資料儲存在線上儲存和離線儲存中。

若要使用目標節點建立特徵群組，請執行以下步驟。

1. 選擇包含您要匯出之資料集的節點旁邊的 **\+** 符號。

1. 在**新增目的地**下，選擇 **SageMaker AI 特徵存放區**。

1. 選擇**建立特徵群組**。

1. 在下列對話方塊中，如果您的資料集沒有事件時間資料欄，請選取**建立“EventTime”**資料欄。

1. 選擇**下一步**。

1. 選擇**複製 JSON 結構描述**。建立特徵群組時，將結構描述貼到特徵定義中。

1. 選擇**建立**。

1. 針對**特徵群組名稱**，請指定特徵群組的名稱。

1. 針對**描述 (選用)**，請指定描述，好讓您的特徵群組更容易被搜尋到。

1. 若要針對線上儲存建立特徵群組，請執行以下步驟。

   1. 選取**啟用線上儲存**。

   1. 對於**線上儲存加密金鑰**，請指定 AWS 受管加密金鑰或您自己的加密金鑰。

1. 若要針對離線儲存建立特徵群組，請執行以下步驟。

   1. 選取**啟用離線儲存**。指定下列欄位的值：
      + **S3 儲存貯體名稱** — 用於儲存特徵群組的 Amazon S3 儲存貯體名稱。
      + (選用) **資料集目錄名稱** — 您用來儲存特徵群組的 Amazon S3 字首。
      + **IAM 角色 ARN** — 可存取特徵商店的 IAM 角色。
      + **資料表格式** — 離線儲存的資料表格式。您可以指定 **Glue** 或 **Iceberg**。**Glue** 為預設格式。
      + **離線儲存加密金鑰** — 依預設，特徵商店使用一組 AWS Key Management Service 受管金鑰，但您可以使用此欄位指定自己的金鑰。

   1. 指定下列欄位的值：
      + **S3 儲存貯體名稱** — 用於儲存特徵群組的儲存貯體名稱。
      + **(選用) 資料集目錄名稱** — 您用來儲存特徵群組的 Amazon S3 字首。
      + **IAM 角色 ARN** — 可存取特徵商店的 IAM 角色。
      + **離線儲存加密金鑰** — 依預設，特徵商店使用一組 AWS 受管金鑰，但您可以使用此欄位指定自己的金鑰。

1. 選擇**繼續**。

1. 選擇 **JSON**。

1. 移除視窗中的預留位置括號。

1. 貼上步驟 6 中的 JSON 文字。

1. 選擇**繼續**。

1. 針對**記錄識別符特徵名稱**中，針對資料集中每筆具有唯一識別符的記錄，選擇資料集中的資料欄。

1. 在**事件時間特徵名稱**中，選擇具有時間戳記值的資料欄。

1. 選擇**繼續**。

1. (選用) 新增標籤，讓您的特徵群組更容易被搜尋到。

1. 選擇**繼續**。

1. 選擇**建立特徵群組**。

1. 導覽回您的 Data Wrangler 流程，然後選擇**特徵群組**搜尋列旁邊的重新整理圖示。

**注意**  
如果您已為流程中的特徵群組建立了目標節點，則無法為同一特徵群組建立另一個目標節點。如果要為同一特徵群組建立另一個目標節點，則必須建立另一個流程檔案。

使用下列程序來建立 Data Wrangler 任務。

從**資料流程**頁面建立任務，然後選擇要匯出的目標節點。

1. 選擇**建立任務**。下列影像顯示選取**建立任務**之後所顯示的窗格。

1. 在**任務名稱**中指定匯出任務的名稱。

1. 選擇您要匯出的目標節點。

1. （選用） 對於**輸出 KMS 金鑰**，指定 AWS KMS 金鑰的 ARN、ID 或別名。KMS 金鑰是密碼編譯金鑰。您可以使用金鑰來加密任務的輸出資料。如需 AWS KMS 金鑰的詳細資訊，請參閱 [AWS Key Management Service](https://docs.aws.amazon.com//kms/latest/developerguide/overview.html)。

1. 下列影像顯示**設定作業**頁面，其中**任務組態**索引標籤已開啟。  
![Data Wrangler 主控台中的範例資料流程建立任務頁面。](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/mohave/destination-nodes/destination-nodes-configure-job.png)

   (選用) 在**訓練的參數**之下。如果您已完成下列動作，請選擇**重新調整**：
   + 取樣您的資料集
   + 套用轉換，該轉換用您的資料在資料集中建立新資料欄

   如需有關重新調整在整個資料集中所進行轉換的詳細資訊，請參閱[將轉換重新調整為整個資料集並導出](#data-wrangler-data-export-fit-transform)。

1. 選擇**設定作業**。

1. (選用) 設定 Data Wrangler 作業。您可以使用下列設定：
   + **任務組態**
   + **Spark 記憶體組態**
   + **網路組態**
   + **Tags** (標籤)
   + **參數**
   + **關聯排程**

1. 選擇**執行**。

------
#### [ Jupyter notebook ]

請在 Jupyter 筆記本中使用下列程序，以匯出至 Amazon SageMaker Feature Store。

使用下列程序產生 Jupyter 筆記本並執行它，將 Data Wrangler 流程匯出至特徵商店。

1. 選擇欲匯出節點旁的 **\+**。

1. 選擇**匯出至**。

1. 選擇 **Amazon SageMaker Feature Store (透過 Jupyter 筆記本)**。

1. 執行 Jupyter 筆記本。

![展示如何在 Data Wrangler 主控台中匯出 Data Wrangler 流程的範例資料流程。](http://docs.aws.amazon.com/zh_tw/sagemaker/latest/dg/images/studio/mohave/data-wrangler-destination-nodes-photo-export-to.png)


執行 Jupyter 筆記本會執行 Data Wrangler 任務。執行 Data Wrangler 任務會啟動 SageMaker AI 處理任務。處理任務會將流程擷取至線上和離線特徵商店。

**重要**  
您用來執行此筆記本的 IAM 角色必須附加下列 AWS 受管政策：`AmazonSageMakerFullAccess` 和 `AmazonSageMakerFeatureStoreAccess`。

您只需要在建立特徵群組時啟用一個線上或離線特徵商店。您也可以同時啟用兩種儲存。若要停用線上儲存建立，請 `EnableOnlineStore` 將設定為 `False`：

```
# Online Store Configuration
online_store_config = {
    "EnableOnlineStore": {{False}}
}
```

筆記本使用您匯出的資料框的資料欄名稱和類型來建立特徵群組結構描述，該結構描述將用於建立特徵群組。特徵群組是在特徵商店中定義的一組特徵，用於描述記錄。特徵群組定義特徵群組中包含的結構描述和特徵。特徵群組定義由特徵清單、記錄識別符特徵名稱、事件時間特徵名稱，以及其線上儲存和離線儲存的組態組成。

特徵群組中的每個特徵都可以屬於以下類型之一：*字串*、*分數*或*整數*。如果匯出的資料框中的資料欄不是這些類型之一，則預設為 `String`。

以下是特徵群組結構描述的範例。

```
column_schema = [
    {
        "name": "{{Height}}",
        "type": "{{long}}"
    },
    {
        "name": "{{Input}}",
        "type": "{{string}}"
    },
    {
        "name": "{{Output}}",
        "type": "{{string}}"
    },
    {
        "name": "{{Sum}}",
        "type": "{{string}}"
    },
    {
        "name": "{{Time}}",
        "type": "{{string}}"
    }
]
```

此外，您必須指定記錄識別符名稱和事件時間特徵名稱：
+ *記錄識別符名稱*是特徵的名稱，其值可唯一識別特徵商店中定義的記錄。線上儲存只會儲存每個識別符值的最新記錄。記錄識別符特徵名稱必須是特徵定義的名稱之一。
+ *事件時間特徵名稱*是儲存特徵群組中 `EventTime` 記錄的特徵名稱。`EventTime` 是發生新事件時的時間點，對應於特徵中的記錄建立或更新。特徵群組中的所有記錄都必須具有對應的 `EventTime`。

筆記本使用這些組態來建立特徵群組、大規模處理資料，然後將處理的資料擷取至線上和離線特徵商店。若要進一步瞭解，請參閱[資料來源和擷取](https://docs.aws.amazon.com/sagemaker/latest/dg/feature-store-ingest-data.html)。

------

筆記本使用這些組態來建立特徵群組、大規模處理資料，然後將處理的資料擷取至線上和離線特徵商店。若要進一步瞭解，請參閱[資料來源和擷取](https://docs.aws.amazon.com/sagemaker/latest/dg/feature-store-ingest-data.html)。

## 將轉換重新調整為整個資料集並導出
<a name="data-wrangler-data-export-fit-transform"></a>

當您匯入資料時，Data Wrangler 會使用資料樣本來套用編碼。Data Wrangler 會根據預設使用前 50,000 個資料列做為樣本，但您可以匯入整個資料集或使用不同的取樣方法。如需詳細資訊，請參閱[Import (匯入)](data-wrangler-import.md)。

下列轉換會使用您的資料在資料集中建立資料欄：
+ [分類編碼](data-wrangler-transform.md#data-wrangler-transform-cat-encode)
+ [功能化文字](data-wrangler-transform.md#data-wrangler-transform-featurize-text)
+ [處理極端值](data-wrangler-transform.md#data-wrangler-transform-handle-outlier)
+ [處理缺少值](data-wrangler-transform.md#data-wrangler-transform-handle-missing)

如果您使用取樣匯入資料，則前述轉換只會使用樣本中的資料來建立資料欄。轉換可能不會使用所有相關資料。例如如果您使用**分類編碼**轉換，則整個資料集中可能有一個類別不存在於樣本中。

您可以使用目標節點或 Jupyter 筆記本來重新調整整個資料集的轉換。當 Data Wrangler 匯出流程中的轉換時，其會建立 SageMaker Processing 任務。處理任務完成後，Data Wrangler 會將下列檔案儲存在預設 Amazon S3 位置或您指定的 S3 位置：
+ 指定重新調整為資料集之轉換的 Data Wrangler 流程檔案
+ 套用重新調整轉換的資料集

您可以在 Data Wrangler 中開啟 Data Wrangler 流程檔案，然後將轉換套用至不同的資料集。例如，如果您已將轉換套用至訓練資料集，則可以開啟並使用 Data Wrangler 流程檔案，將轉換套用至用於推論的資料集。

如需有關使用目標節點重新調整轉換和匯出的資訊，請參閱下列頁面：
+ [匯出至 Amazon S3](#data-wrangler-data-export-s3)
+ [匯出至 Amazon SageMaker Feature Store](#data-wrangler-data-export-feature-store)

使用下列程序來執行 Jupyter 筆記本，重新調整轉換並匯出資料。

若要執行 Jupyter 筆記本，以重新調整轉換並匯出 Data Wrangler 流程，請執行下列步驟。

1. 選擇欲匯出節點旁的 **\+**。

1. 選擇**匯出至**。

1. 選擇要匯出資料的目標位置。

1. 針對 `refit_trained_params` 物件，將 `refit` 設定為 `True`。

1. 針對 `output_flow` 欄位，請指定有重新調整轉換的輸出流程檔案名稱。

1. 執行 Jupyter 筆記本。

## 建立自動處理新資料的排程
<a name="data-wrangler-data-export-schedule-job"></a>

如果您要定期處理資料，則可以建立排程以自動執行處理任務。例如您可以建立排程，在獲得新資料時自動執行處理任務。如需處理任務的詳細資訊，請參閱[匯出至 Amazon S3](#data-wrangler-data-export-s3)和[匯出至 Amazon SageMaker Feature Store](#data-wrangler-data-export-feature-store)。

建立任務時，必須指定具有建立該任務授權的 IAM 角色。您用來存取 Data Wrangler 的 IAM 角色根據預設為 `SageMakerExecutionRole`。

下列權限允許 Data Wrangler 存取 EventBridge，並允許 EventBridge 執行處理任務：
+ 將下列 AWS 受管政策新增至 Amazon SageMaker Studio Classic 執行角色，該角色提供 Data Wrangler 使用 EventBridge 的許可：

  ```
  arn:aws:iam::aws:policy/AmazonEventBridgeFullAccess
  ```

  如需有關該政策的詳細資訊，請參閱 [AWS EventBridge 受管政策](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-use-identity-based.html#eb-full-access-policy)。
+ 將下列政策新增至您在 Data Wrangler 中建立任務時指定的 IAM 角色：

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Action": "sagemaker:StartPipelineExecution",
              "Resource": "arn:aws:sagemaker:{{us-east-1}}:{{111122223333}}:pipeline/data-wrangler-*"
          }
      ]
  }
  ```

------

  如果您使用預設的 IAM 角色，則請將上述政策新增至 Amazon SageMaker Studio Classic 執行角色。

  將下列信任政策新增至角色，以便 EventBridge 加以採用。

  ```
  {
      "Effect": "Allow",
      "Principal": {
          "Service": "events.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
  }
  ```

**重要**  
當您建立排程時，Data Wrangler 會在 EventBridge 中建立一個 `eventRule`。您建立的事件規則和用於執行處理任務的執行個體都會產生費用。  
如需 EventBridge 定價的詳細資訊，請參閱 [Amazon EventBridge 定價](https://aws.amazon.com/eventbridge/pricing/)。有關處理任務定價的資訊，請參閱 [Amazon SageMaker 定價](https://aws.amazon.com/sagemaker/pricing/)。

您可以使用以下其中一個方法建立排程：
+ [Cron 表達式](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule-schedule.html)
**注意**  
Data Wrangler 不支援以下表達式：  
LW \#
天的縮寫
月的縮寫
+ [Rate 表達式](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule-schedule.html#eb-rate-expressions)
+ 週期性 — 設定每小時或每日執行任務的間隔。
+ 指定時間 — 設定執行任務的特定日期和時間。

下列各節將說明了建立任務的程序。

------
#### [ CRON ]

使用下列程序建立包含 CRON 表達式的排程。

若要使用 CRON 表達式指定排程，請執行下列動作。

1. 開啟 Data Wrangler 流程。

1. 選擇 **建立任務**。

1. （選用） 對於**輸出 KMS 金鑰**，請指定 AWS KMS 金鑰來設定任務的輸出。

1. 選擇 **下一步，2.。設定任務**。

1. 選取**關聯排程**。

1. 選擇**建立新排程**。

1. 針對**排程名稱**，請指定排程的名稱。

1. 針對**執行頻率**，請選擇 **CRON**。

1. 請指定有效的 CRON 表達式。

1. 選擇**建立**。

1. (選用) 選擇**新增另一個排程**，在另一個排程執行任務。
**注意**  
您最多可以關聯兩個排程。這些排程是獨立的，除非時間重疊，否則不會相互影響。

1. 選擇下列其中一項：
   + **立即排程並執行** — Data Wrangler 任務會立即執行，之後按排程執行。
   + **僅限排程** — Data Wrangler 任務只會在您指定的排程上執行。

1. 選擇**執行**。

------
#### [ RATE ]

使用下列程序建立包含 RATE 表達式的排程。

若要使用 RATE 表達式指定排程，請執行下列動作。

1. 開啟 Data Wrangler 流程。

1. 選擇 **建立任務**。

1. （選用） 對於**輸出 KMS 金鑰**，請指定 AWS KMS 金鑰來設定任務的輸出。

1. 選擇 **下一步，2.。設定任務**。

1. 選取**關聯排程**。

1. 選擇**建立新排程**。

1. 針對**排程名稱**，請指定排程的名稱。

1. 針對**執行頻率**，請選擇 **Rate**。

1. 針對**值**，請指定整數。

1. 針對**單位**，請選擇下列項目之一：
   + **分鐘**
   + **小時**
   + **天**

1. 選擇**建立**。

1. (選用) 選擇**新增另一個排程**，在另一個排程執行任務。
**注意**  
您最多可以關聯兩個排程。這些排程是獨立的，除非時間重疊，否則不會相互影響。

1. 選擇下列其中一項：
   + **立即排程並執行** — Data Wrangler 任務會立即執行，之後按排程執行。
   + **僅限排程** — Data Wrangler 任務只會在您指定的排程上執行。

1. 選擇**執行**。

------
#### [ Recurring ]

請使用下列程序來建立週期性基礎的任務執行排程。

若要使用 CRON 表達式指定排程，請執行下列動作。

1. 開啟 Data Wrangler 流程。

1. 選擇 **建立任務**。

1. （選用） 對於**輸出 KMS 金鑰**，請指定 AWS KMS 金鑰來設定任務的輸出。

1. 選擇 **下一步，2.。設定任務**。

1. 選取**關聯排程**。

1. 選擇**建立新排程**。

1. 針對**排程名稱**，請指定排程的名稱。

1. 針對**執行頻率**，請確認預設為選取**週期性**。

1. 針對**每 x 小時**，請指定任務在一天中執行的小時頻率。有效值是 **1** 與 **23** 之包含範圍內的整數。

1. 針對**在這些日子**，選擇以下其中一個選項：
   + **每天**
   + **週末**
   + **平日**
   + **選擇天數**

   1. (選用) 如果您已選取**選取天數**，請選擇一週中的哪幾天要執行任務。
**注意**  
排程會每天重設一次。如果您將任務排定為每五個小時執行一次，則它會在一天的下列時間執行：  
00：00
05：00
10：00
15：00
20：00

1. 選擇**建立**。

1. (選用) 選擇**新增另一個排程**，在另一個排程執行任務。
**注意**  
您最多可以關聯兩個排程。這些排程是獨立的，除非時間重疊，否則不會相互影響。

1. 選擇下列其中一項：
   + **立即排程並執行** — Data Wrangler 任務會立即執行，之後按排程執行。
   + **僅限排程** — Data Wrangler 任務只會在您指定的排程上執行。

1. 選擇**執行**。

------
#### [ Specific time ]

請使用下列程序來建立在指定時間執行任務的排程。

若要使用 CRON 表達式指定排程，請執行下列動作。

1. 開啟 Data Wrangler 流程。

1. 選擇 **建立任務**。

1. （選用） 對於**輸出 KMS 金鑰**，請指定 AWS KMS 金鑰來設定任務的輸出。

1. 選擇 **下一步，2.。設定任務**。

1. 選取**關聯排程**。

1. 選擇**建立新排程**。

1. 針對**排程名稱**，請指定排程的名稱。

1. 選擇**建立**。

1. (選用) 選擇**新增另一個排程**，在另一個排程執行任務。
**注意**  
您最多可以關聯兩個排程。這些排程是獨立的，除非時間重疊，否則不會相互影響。

1. 選擇下列其中一項：
   + **立即排程並執行** — Data Wrangler 任務會立即執行，之後按排程執行。
   + **僅限排程** — Data Wrangler 任務只會在您指定的排程上執行。

1. 選擇**執行**。

------

您可以使用 Amazon SageMaker Studio Classic 檢視排程要執行的任務。您的處理任務會在 Pipelines 內執行。每個處理任務都有自己的管道。它的運作方式為管道內的處理步驟。您可以檢視您在管道中建立的排程。如需在檢視管道更多資訊，請參閱[檢視管道的詳細資訊](pipelines-studio-list.md)。

使用下列程序來檢視您已排定的任務。

若要檢視您已排定的任務，請執行下列操作。

1. 開啟 Amazon SageMaker Studio Classic。

1. 開啟管道

1. 檢視您已建立之任務管道。

   執行任務的管道字首會使用任務名稱。例如，如果您已建立名為 `housing-data-feature-enginnering` 的任務，則管道的名稱為 `data-wrangler-housing-data-feature-engineering`。

1. 選擇包含任務的管道。

1. 檢視管道的狀態。**狀態**為**成功**的管道表示已成功執行處理任務。

若要停止執行處理任務，請執行下列動作：

若要停止執行處理任務，請刪除指定排程的事件規則。刪除事件規則會停止執行與該排程相關聯的所有任務。如需刪除規則的相關資訊，請參閱[停用或刪除 Amazon EventBridge 規則](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-delete-rule.html)。

您也可以停止和刪除與排程相關聯的管道。如需停止管道的相關資訊，請參閱 [StopPipelineExecution](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StopPipelineExecution.html)。如需刪除管道的相關資訊，請參閱 [DeletePipeline](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeletePipeline.html#API_DeletePipeline_RequestSyntax)。