

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

# 在 SageMaker Canvas 中自動準備資料
<a name="canvas-data-export"></a>

在資料流程中轉換您的資料之後，您可以將這些轉換匯出至機器學習工作流程。匯出您的轉換時，SageMaker Canvas 會建立 Jupyter 筆記本。您必須在 Amazon SageMaker Studio Classic 內執行筆記本。如需開始使用 Studio Classic 的相關資訊，請聯絡您的管理員。

## 使用管道自動準備資料
<a name="canvas-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="canvas-pipelines-notebook"></a>

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

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

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

1. 選擇**匯出資料流程**。

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

1. 下載 Jupyter 筆記本或將其複製到 Amazon S3 位置。我們建議您將其複製到您可以在 Studio Classic 內存取的 Amazon S3 位置。如果您需要適當位置的指引，請聯絡您的管理員。

1. 執行 Jupyter 筆記本。

您可以使用 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="canvas-data-export-inference"></a>

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

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

如果您已將重新調整整個資料集的轉換，則轉換會繼承至您的推論管道。例如，如果您使用中位數值來推算缺少的值，則重新調整轉換的中位數值會套用至您的推論請求。您可以在使用 Jupyter 筆記本或將資料匯出至推論管道時，重新調整 Data Wrangler 流程的轉換。

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

**支援的資料類型**
+ `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="canvas-inference-notebook"></a>

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

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

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

1. 選擇**匯出資料流程**。

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

1. 下載 Jupyter 筆記本或將其複製到 Amazon S3 位置。我們建議您將其複製到您可以在 Studio Classic 內存取的 Amazon S3 位置。如果您需要適當位置的指引，請聯絡您的管理員。

1. 執行 Jupyter 筆記本。

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

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

## 使用 Python 程式碼自動準備資料
<a name="canvas-data-export-python-code"></a>

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

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

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

1. 選擇**匯出資料流程**。

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

1. 下載 Jupyter 筆記本或將其複製到 Amazon S3 位置。我們建議您將其複製到您可以在 Studio Classic 內存取的 Amazon S3 位置。如果您需要適當位置的指引，請聯絡您的管理員。

1. 執行 Jupyter 筆記本。

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