匯出 - Amazon SageMaker AI

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

匯出

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

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

Data Wrangler 主控台中的資料流程範例。

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

您新增至 Data Wrangler 流程的每個轉換都會顯示為額外節點。關於您可以新增的轉和,請參閱轉換資料。下列影像顯示 Data Wrangler 流程,該流程具有可變更資料集中資料欄名稱的重新命名資料欄節點。

您可以將資料轉換匯出為以下功能:

  • Amazon S3

  • 管道

  • Amazon SageMaker Feature Store

  • Python 程式碼

重要

我們建議您使用 IAM AmazonSageMakerFullAccess 受管政策來授予使用 Data Wrangler 的 AWS 許可。如果您不使用 受管政策,則可以使用 IAM政策,讓 Data Wrangler 存取 Amazon S3 儲存貯體。如需關於政策的詳細資訊,請參閱安全與許可

匯出資料流程時,您需要支付所使用的 AWS 資源費用。您可以使用成本分配標籤來組織和管理這些資源的成本。您可以針對使用者設定檔建立這些標籤,Data Wrangler 會自動將這些標籤套用至用於匯出資料流程的資源。如需詳細資訊,請參閱使用成本分配標籤

匯出至 Amazon S3

Data Wrangler 可讓您將資料匯出到 Amazon S3 儲存貯體中的某個位置。您可以使用下列其中一種方法指定位置:

  • 目的地節點 — Data Wrangler 在處理資料之後儲存資料的位置。

  • 匯出至 — 將轉換產生的資料匯出到 Amazon S3。

  • 匯出資料 — 針對小型資料集,可以快速匯出已轉換的資料。

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

Destination Node

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

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

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

在 Data Wrangler 主控台中顯示兩個目的地節點的範例資料流程。

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

若要匯出資料流程,請建立目標節點和 Data Wrangler 任務以匯出資料。建立 Data Wrangler 任務會啟動 SageMaker 處理任務以匯出您的流程。建立完成後,您要選擇要匯出的目標節點。

注意

您可以在 Data Wrangler 流程中選擇建立任務,以檢視使用處理任務的指示。

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

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

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

    示範如何在 Data Wrangler 主控台中新增目的地的範例資料流程。
  3. 選擇 Amazon S3

    示範如何在 Data Wrangler 主控台中新增目的地的範例資料流程。
  4. 為下列欄位:

    • 資料集名稱 — 您為要匯出的資料集指定的名稱。

    • 檔案類型 — 您要匯出的檔案格式。

    • Delimiter (CSV僅限 和 Parquet 檔案) – 用來分隔其他值的值。

    • 壓縮 (CSV僅限 和 Parquet 檔案) – 用來減少檔案大小的壓縮方法。您可以使用下列壓縮方式:

      • bzip2

      • deflate

      • gzip

    • (選用) Amazon S3 位置 — 您用來輸出檔案的 S3 位置。

    • (選用) 分割區數目 — 您要當作處理任務輸出加以寫入的資料集數目。

    • (選用) 依資料欄分割 — 從資料欄寫入具有相同唯一值的所有資料。

    • (選用) 推論參數 — 選取產生推論成品,會將您在 Data Wrangler 流程中使用的所有轉換,套用至進入推論管道的資料。管道中的模型會針對轉換的資料進行預測。

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

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

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

注意

您可以在 Data Wrangler 流程中選擇建立任務,以檢視建議處理任務的指示。

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

    在 Data Wrangler 主控台中建立任務窗格的範例資料流程。
  2. 任務名稱中指定匯出任務的名稱。

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

  4. (選用) 指定 AWS KMS 金鑰 ARN。 AWS KMS 金鑰是密碼編譯金鑰,可用來保護資料。如需 AWS KMS 金鑰的詳細資訊,請參閱 AWS Key Management Service

  5. (選用) 在訓練的參數之下。如果您已完成下列動作,請選擇重新調整

    • 取樣您的資料集

    • 套用轉換,該轉換用您的資料在資料集中建立新資料欄

    如需有關重新調整在整個資料集中所進行轉換的詳細資訊,請參閱將轉換重新調整為整個資料集並導出

    注意

    針對影像資料,Data Wrangler 會匯出您對所有影像做的轉換。重新調整轉換不適用於您的使用案例。

  6. 選擇設定作業。下列影像顯示設定作業頁面。

    Data Wrangler 主控台中的資料流程設定任務頁面範例。
  7. (選用) 設定 Data Wrangler 作業。您可以使用下列設定:

    • 任務組態

    • Spark 記憶體組態

    • 網路組態

    • Tags (標籤)

    • 參數

    • 關聯排程

  8. 選擇執行

Export to

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

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

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

  2. 選擇匯出至

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

  4. 執行 Jupyter 筆記本

    示範如何在 Data Wrangler 主控台中匯出 Data Wrangler 流程的範例資料流程。

當您執行筆記本時,它會在與 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 主控台中匯出資料的範例資料流程。
  2. 設定您要匯出資料的方式。

  3. 選擇開始匯出

將資料流程匯出到 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/ 中。

匯出至管道

當您想要建置和部署大規模機器學習 (ML) 工作流程時,您可以使用管道來建立工作流程來管理和部署 SageMaker AI 任務。透過管道,您可以建置工作流程來管理 SageMaker AI 資料準備、模型訓練和模型部署任務。您可以使用管道,使用 SageMaker AI 提供的第一方演算法。如需管道的詳細資訊,請參閱SageMaker 管道

當您將一或多個步驟從資料流程匯出至管道時,Data Wrangler 會建立 Jupyter 筆記本,可用來定義、執行個體化、執行和管理管道。

使用 Jupyter 筆記本建立管道

使用下列程序建立 Jupyter 筆記本,將您的 Data Wrangler 流程匯出至管道。

使用下列程序來產生 Jupyter 筆記本,並執行它以將 Data Wrangler 流程匯出至管道。

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

  2. 選擇匯出至

  3. 選擇管道 (透過 Jupyter 筆記本)

  4. 執行 Jupyter 筆記本。

示範如何在 Data Wrangler 主控台中匯出 Data Wrangler 流程的範例資料流程。

您可以使用 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 管道

匯出至推論端點

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

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

管道具有執行批次或即時推論的功能。您也可以將 Data Wrangler 流程新增至 SageMaker 模型登錄檔。若要取得關於託管模型的詳細資訊,請參閱多模型端點

重要

如果 Data Wrangler 流程具有下列轉換,則無法將其匯出至推論端點:

  • Join

  • 串連

  • 分組依據

如果您必須使用前述轉換來準備資料,請使用下列程序。

使用不支援的轉換準備資料以進行推論
  1. 建立 Data Wrangler 流程。

  2. 套用不支援的先前轉換。

  3. 將資料匯出至 Amazon S3 儲存貯體。

  4. 建立個別 Data Wrangler 流程。

  5. 匯入您從先前流程匯出的資料。

  6. 套用剩餘的轉換。

  7. 使用我們提供的 Jupyter 筆記本建立序列推論管道。

如需將資料匯出至 Amazon S3 儲存貯體的詳細資訊,請參閱匯出至 Amazon S3。如需開啟用來建立序列推論管道的 Jupyter 筆記本詳細資訊,請參閱使用 Jupyter 筆記本建立推論端點

Data Wrangler 會忽略在推論時移除資料的轉換。例如,如果您使用刪除遺失的組態,則 Data Wrangler 會忽略 處理缺少值 轉換。

如果您已將重新調整整個資料集的轉換,則轉換會繼承至您的推論管道。例如,如果您使用中位數值來推算缺少的值,則重新調整轉換的中位數值會套用至您的推論請求。您可以在使用 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 筆記本建立推論端點

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

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

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

  2. 選擇匯出至

  3. 選擇 SageMaker AI 推論管道 (透過 Jupyter 筆記本)

  4. 執行 Jupyter 筆記本。

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

重要

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

匯出為 Python 程式碼

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

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

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

  2. 選擇匯出至

  3. 選擇 Python 程式碼

  4. 執行 Jupyter 筆記本。

示範如何在 Data Wrangler 主控台中匯出 Data Wrangler 流程的範例資料流程。

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

匯出至 Amazon SageMaker Feature Store

您可以使用 Data Wrangler 將已建立的功能匯出至 Amazon SageMaker Feature Store。特徵是資料集中的資料欄。特徵商店是特徵及其關聯中繼資料的集中儲存區。您可以使用特徵商店為機器學習 (ML) 開發建立、共用和管理策劃的資料。集中式儲存可以您更輕易發掘資料且可重複使用。如需 Feature Store 的詳細資訊,請參閱 Amazon SageMaker Feature Store

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

您可以使用 Data Wrangler 執行以下其中一項:

  • 使用新記錄更新既有特徵群組。記錄是資料集中的觀察。

  • 從 Data Wrangler 流程中的節點建立新特徵群組。Data Wrangler 將資料集中的觀察加入為特徵群組中的記錄。

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

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

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

Destination Node

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

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

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

若要使用目標節點更新特徵群組,請執行以下步驟。

注意

您可以在 Data Wrangler 流程中選擇建立任務,以檢視使用處理任務來更新特徵群組的指示。

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

  2. 新增目的地下,選擇 SageMaker AI 功能存放區

    示範如何在 Data Wrangler 主控台中新增目的地的範例資料流程。
  3. 選擇 (連按兩下) 特徵群組。Data Wrangler 會檢查特徵群組的結構描述是否符合您用來更新特徵群組的資料結構描述。

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

  5. Data Wrangler 驗證資料集的結構描述之後,請選擇新增

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

您可透過下列其中一種方式儲存您的特徵群組:

  • 線上 — 提供即時查閱記錄的低延遲、高可用性快取的特徵群組。線上儲存可讓您快速存取特徵群組中記錄的最新值。

  • 離線 — 將您特徵群組的資料儲存在 Amazon S3 儲存貯體中。當您不需要低延遲 (低於一秒) 讀取時,您可以將資料離線儲存。您可以將離線儲存用於資料探索、模型訓練和批次推論中使用的特徵。

  • 線上和離線 — 將您的資料儲存在線上儲存和離線儲存中。

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

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

  2. 新增目的地下,選擇 SageMaker AI 功能存放區

  3. 選擇建立特徵群組

  4. 在下列對話方塊中,如果您的資料集沒有事件時間欄,請選取建立 "EventTime" 欄

  5. 選擇 Next (下一步)

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

  7. 選擇 Create (建立)。

  8. 針對特徵群組名稱,請指定特徵群組的名稱。

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

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

    1. 選取啟用線上儲存

    2. 對於線上儲存加密金鑰,指定 受 AWS 管加密金鑰或您自己的加密金鑰。

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

    1. 選取啟用離線儲存。指定下列欄位的值:

      • S3 儲存貯體名稱 — 用於儲存特徵群組的 Amazon S3 儲存貯體名稱。

      • (選用) 資料集目錄名稱 — 您用來儲存特徵群組的 Amazon S3 字首。

      • IAM 角色 ARN – 可存取特徵存放區IAM的角色。

      • 資料表格式 — 離線儲存的資料表格式。您可以指定 GlueIcebergGlue 為預設格式。

      • 離線儲存加密金鑰 — 依預設,特徵商店使用一組 AWS Key Management Service 受管金鑰,但您可以使用此欄位指定自己的金鑰。

    2. 指定下列欄位的值:

      • S3 儲存貯體名稱 — 用於儲存特徵群組的儲存貯體名稱。

      • (選用) 資料集目錄名稱 — 您用來儲存特徵群組的 Amazon S3 字首。

      • IAM 角色 ARN – 可存取特徵存放區IAM的角色。

      • 離線儲存加密金鑰 — 依預設,特徵商店使用一組 AWS 受管金鑰,但您可以使用此欄位指定自己的金鑰。

  12. 選擇繼續

  13. 選擇 JSON

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

  15. 貼上步驟 6 JSON的文字。

  16. 選擇繼續

  17. 針對 RECORD IDENTIFIER FEATURE NAME,選擇資料集中具有資料集中每個記錄唯一識別符的資料欄。

  18. 針對 EVENT TIME FEATURE NAME,選擇具有時間戳記值的資料欄。

  19. 選擇繼續

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

  21. 選擇繼續

  22. 選擇建立特徵群組

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

注意

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

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

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

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

  2. 任務名稱中指定匯出任務的名稱。

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

  4. (選用) 針對輸出KMS金鑰,指定 AWS KMS 金鑰的 ARN、 ID 或別名。KMS 金鑰是密碼編譯金鑰。您可以使用金鑰來加密任務的輸出資料。如需 AWS KMS 金鑰的詳細資訊,請參閱 AWS Key Management Service

  5. 下列影像顯示設定作業頁面,其中任務組態索引標籤已開啟。

    Data Wrangler 主控台中的資料流程建立任務頁面範例。

    (選用) 在訓練的參數之下。如果您已完成下列動作,請選擇重新調整

    • 取樣您的資料集

    • 套用轉換,該轉換用您的資料在資料集中建立新資料欄

    如需有關重新調整在整個資料集中所進行轉換的詳細資訊,請參閱將轉換重新調整為整個資料集並導出

  6. 選擇設定作業

  7. (選用) 設定 Data Wrangler 作業。您可以使用下列設定:

    • 任務組態

    • Spark 記憶體組態

    • 網路組態

    • Tags (標籤)

    • 參數

    • 關聯排程

  8. 選擇執行

Jupyter notebook

使用下列程序將 Jupyter 筆記本匯出至 Amazon SageMaker Feature Store。

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

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

  2. 選擇匯出至

  3. 選擇 Amazon SageMaker Feature Store (透過 Jupyter Notebook)

  4. 執行 Jupyter 筆記本。

示範如何在 Data Wrangler 主控台中匯出 Data Wrangler 流程的範例資料流程。

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

重要

您用來執行此筆記本IAM的角色必須連接下列 AWS 受管政策: AmazonSageMakerFullAccessAmazonSageMakerFeatureStoreAccess

您只需要在建立特徵群組時啟用一個線上或離線特徵商店。您也可以同時啟用兩種儲存。若要停用線上儲存建立,請 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

筆記本使用這些組態來建立特徵群組、大規模處理資料,然後將處理的資料擷取至線上和離線特徵商店。若要進一步瞭解,請參閱資料來源和擷取

筆記本使用這些組態來建立特徵群組、大規模處理資料,然後將處理的資料擷取至線上和離線特徵商店。若要進一步瞭解,請參閱資料來源和擷取

將轉換重新調整為整個資料集並導出

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

下列轉換會使用您的資料在資料集中建立資料欄:

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

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

  • 指定重新調整為資料集之轉換的 Data Wrangler 流程檔案

  • 套用重新調整轉換的資料集

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

如需有關使用目標節點重新調整轉換和匯出的資訊,請參閱下列頁面:

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

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

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

  2. 選擇匯出至

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

  4. 針對 refit_trained_params 物件,將 refit 設定為 True

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

  6. 執行 Jupyter 筆記本。

建立自動處理新資料的排程

如果您要定期處理資料,則可以建立排程以自動執行處理任務。例如您可以建立排程,在獲得新資料時自動執行處理任務。如需處理任務的詳細資訊,請參閱匯出至 Amazon S3匯出至 Amazon SageMaker 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

  • 將下列政策新增至您在 Data Wrangler 中建立任務時指定的IAM角色:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sagemaker:StartPipelineExecution", "Resource": "arn:aws:sagemaker:Region:AWS-account-id:pipeline/data-wrangler-*" } ] }

    如果您使用的是預設IAM角色,您可以將上述政策新增至 Amazon SageMaker Studio Classic 執行角色。

    將下列信任政策新增至角色, EventBridge 以允許 擔任該角色。

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

當您建立排程時,Data Wrangler 會在 eventRule中建立 EventBridge。您建立的事件規則和用於執行處理任務的執行個體都會產生費用。

如需 EventBridge 定價的詳細資訊,請參閱 Amazon EventBridge 定價。如需處理任務定價的資訊,請參閱 Amazon SageMaker AI 定價

您可以使用以下其中一個方法建立排程:

  • CRON 表達式

    注意

    Data Wrangler 不支援以下表達式:

    • LW #

    • 天的縮寫

    • 月的縮寫

  • RATE 表達式

  • 週期性 — 設定每小時或每日執行任務的間隔。

  • 指定時間 — 設定執行任務的特定日期和時間。

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

CRON

使用下列程序建立具有CRON表達式的排程。

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

  1. 開啟 Data Wrangler 流程。

  2. 選擇 建立任務

  3. (選用) 針對輸出KMS金鑰,指定 AWS KMS 金鑰以設定任務的輸出。

  4. 選擇 下一步,2.。設定任務

  5. 選取關聯排程

  6. 選擇建立新排程

  7. 針對排程名稱,請指定排程的名稱。

  8. 針對執行頻率,選擇 CRON

  9. 指定有效的CRON表達式。

  10. 選擇 Create (建立)。

  11. (選用) 選擇新增另一個排程,在另一個排程執行任務。

    注意

    您最多可以關聯兩個排程。這些排程是獨立的,除非時間重疊,否則不會相互影響。

  12. 選擇下列其中一項:

    • 立即排程並執行 — Data Wrangler 任務會立即執行,之後按排程執行。

    • 僅限排程 — Data Wrangler 任務只會在您指定的排程上執行。

  13. 選擇執行

RATE

使用下列程序建立具有RATE表達式的排程。

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

  1. 開啟 Data Wrangler 流程。

  2. 選擇 建立任務

  3. (選用) 針對輸出KMS金鑰,指定 AWS KMS 金鑰以設定任務的輸出。

  4. 選擇 下一步,2.。設定任務

  5. 選取關聯排程

  6. 選擇建立新排程

  7. 針對排程名稱,請指定排程的名稱。

  8. 針對執行頻率,請選擇 Rate

  9. 針對,請指定整數。

  10. 針對單位,請選擇下列項目之一:

    • 分鐘

    • 小時

  11. 選擇 Create (建立)。

  12. (選用) 選擇新增另一個排程,在另一個排程執行任務。

    注意

    您最多可以關聯兩個排程。這些排程是獨立的,除非時間重疊,否則不會相互影響。

  13. 選擇下列其中一項:

    • 立即排程並執行 — Data Wrangler 任務會立即執行,之後按排程執行。

    • 僅限排程 — Data Wrangler 任務只會在您指定的排程上執行。

  14. 選擇執行

Recurring

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

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

  1. 開啟 Data Wrangler 流程。

  2. 選擇 建立任務

  3. (選用) 針對輸出KMS金鑰,指定 AWS KMS 金鑰以設定任務的輸出。

  4. 選擇 下一步,2.。設定任務

  5. 選取關聯排程

  6. 選擇建立新排程

  7. 針對排程名稱,請指定排程的名稱。

  8. 針對執行頻率,請確認預設為選取週期性

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

  10. 針對在這些日子,選擇以下其中一個選項:

    • 每天

    • 週末

    • 平日

    • 選擇天數

    1. (選用) 如果您已選取選取天數,請選擇一週中的哪幾天要執行任務。

    注意

    排程會每天重設一次。如果您將任務排定為每五個小時執行一次,則它會在一天的下列時間執行:

    • 00:00

    • 05:00

    • 10:00

    • 15:00

    • 20:00

  11. 選擇 Create (建立)。

  12. (選用) 選擇新增另一個排程,在另一個排程執行任務。

    注意

    您最多可以關聯兩個排程。這些排程是獨立的,除非時間重疊,否則不會相互影響。

  13. 選擇下列其中一項:

    • 立即排程並執行 — Data Wrangler 任務會立即執行,之後按排程執行。

    • 僅限排程 — Data Wrangler 任務只會在您指定的排程上執行。

  14. 選擇執行

Specific time

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

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

  1. 開啟 Data Wrangler 流程。

  2. 選擇 建立任務

  3. (選用) 針對輸出KMS金鑰,指定 AWS KMS 金鑰以設定任務的輸出。

  4. 選擇 下一步,2.。設定任務

  5. 選取關聯排程

  6. 選擇建立新排程

  7. 針對排程名稱,請指定排程的名稱。

  8. 選擇 Create (建立)。

  9. (選用) 選擇新增另一個排程,在另一個排程執行任務。

    注意

    您最多可以關聯兩個排程。這些排程是獨立的,除非時間重疊,否則不會相互影響。

  10. 選擇下列其中一項:

    • 立即排程並執行 — Data Wrangler 任務會立即執行,之後按排程執行。

    • 僅限排程 — Data Wrangler 任務只會在您指定的排程上執行。

  11. 選擇執行

您可以使用 Amazon SageMaker Studio Classic 檢視排程執行的任務。您的處理任務會在管道中執行。每個處理任務都有自己的管道。它的運作方式為管道內的處理步驟。您可以檢視您在管道中建立的排程。如需在檢視管道更多資訊,請參閱檢視管道的詳細資訊

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

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

  1. 開啟 Amazon SageMaker Studio Classic。

  2. 開放管道

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

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

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

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

若要停止執行處理任務,請執行下列動作:

若要停止執行處理任務,請刪除指定排程的事件規則。刪除事件規則會停止執行與該排程相關聯的所有任務。如需刪除規則的資訊,請參閱停用或刪除 Amazon EventBridge 規則

您也可以停止和刪除與排程相關聯的管道。如需停止管道的詳細資訊,請參閱StopPipelineExecution。如需刪除管道的相關資訊,請參閱 DeletePipeline