重複使用不同資料集的資料流量 - Amazon SageMaker

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

重複使用不同資料集的資料流量

您可以在 Amazon Simple Storage Service (Amazon S3) 資料來源建立和使用參數。參數是您儲存在 Data Wrangler 流程中的變數。其值可以是資料來源 Amazon S3 路徑的任何部分。使用參數可快速變更要匯入至 Data Wrangler 流程或匯出至處理任務的資料。您還可以使用參數來選取和匯入資料的特定子集。

建立 Data Wrangler 流程之後,您可以用已轉換的資料訓練模型。對於具有相同結構描述的資料集,您可以使用參數,在不同的資料集上套用相同的轉換,並訓練不同的模型。您可以透過新資料集來對模型執行推論,也可以使用它們來重新訓練模型。

一般而言,參數有下列屬性:

  • 名稱—您為參數指定的名稱

  • 類型—參數代表的值的類型

  • 預設值—未指定新值時的參數的值

注意

日期時間參數具有時間範圍屬性,作為預設值。

Data Wrangler 使用大括號 {{}} 來表示某參數正在 Amazon S3 路徑中被使用。例如,您可以擁有 URL等 s3://amzn-s3-demo-bucket1/{{example_parameter_name}}/example-dataset.csv

您在編輯已匯入的 Amazon S3 資料來源時建立參數。您可以將檔案路徑的任何部分設定為參數值。您可以將參數值設定為一個值或一個陣列。以下是 Data Wrangler 流程中可用的參數值類型:

  • Number

  • 字串

  • 模式

  • 日期時間

注意

您無法在 Amazon S3 路徑中,為儲存貯體名稱建立模式參數或日期時間參數。

您必須將數字參數的預設值設定為數字。您可以在編輯參數或啟動處理任務時,將參數的值變更為不同的數字。例如,在 S3 路徑中,s3://amzn-s3-demo-bucket/example-prefix/example-file-1.csv,您可以在 1 之處建立名為 number_parameter 的數字參數。您的 S3 路徑現在會顯示為 s3://amzn-s3-demo-bucket/example-prefix/example-file-{{number_parameter}}.csv。路徑會繼續指向 example-file-1.csv 資料集,直到您變更參數的值為止。如果您將 number_parameter 的值變更為 2,現在路徑為 s3://amzn-s3-demo-bucket/example-prefix/example-file-2.csv。如果已將檔案上傳到該 Amazon S3 位置,則您可以可以將 example-file-2.csv 匯入至 Data Wrangler。

字串參數會儲存字串為其預設值。例如,在 S3 路徑中,s3://amzn-s3-demo-bucket/example-prefix/example-file-1.csv,您可以在檔案名稱 example-file-1.csv 之處建立名為 string_parameter 的字串參數。路徑現在會顯示為 s3://amzn-s3-demo-bucket/example-prefix/{{string_parameter}}。它會繼續符合 s3://amzn-s3-demo-bucket/example-prefix/example-file-1.csv,直到您變更參數的值為止。

您可以使用整個 Amazon S3 路徑建立字串參數,而不是將檔案名稱指定為字串參數。您可以在字串參數中,從任何 Amazon S3 位置指定資料集。

模式參數會將規則運算式 (Python REGEX) 字串儲存為其預設值。您可以使用模式參數同時匯入多個資料檔案。若要一次匯入多個物件,請指定與要匯入之 Amazon S3 物件符合的參數值。

您還可以為下列資料集建立模式參數:

  • s3://amzn-s3-demo-bucket1/example-prefix/example-file-1.csv

  • s3://amzn-s3-demo-bucket1/example-prefix/example-file-2.csv

  • s3://amzn-s3-demo-bucket1/example-prefix/example-file-10.csv

  • s3://amzn-s3-demo-bucket/example-prefix/example-file-0123.csv

對於 s3://amzn-s3-demo-bucket1/example-prefix/example-file-1.csv,您可以在 1 的位置建立模式參數,並將參數的預設值設定為 \d+\d+ REGEX 字串符合任何一個或多個小數位。如果您建立名為 pattern_parameter 的模式參數,您的 S3 路徑會顯示為 s3://amzn-s3-demo-bucket1/example-prefix/example-file-{{pattern_parameter}}.csv

您也可以使用模式參數來比對儲存貯體中的所有CSV物件。若要符合儲存貯體中的所有物件,請使用預設值 .* 建立模式參數,並將路徑設定為 s3://amzn-s3-demo-bucket/{{pattern_parameter}}.csv.* 字元符合路徑中的任何字串字元。

s3://amzn-s3-demo-bucket/{{pattern_parameter}}.csv 路徑可以符合下列資料集。

  • example-file-1.csv

  • other-example-file.csv

  • example-file-a.csv

日期時間參數以下列的資訊儲存格式:

  • Amazon S3 路徑內部剖析字串的格式。

  • 一個相對時間的範圍,用於限制符合的日期時間值

例如,在 Amazon S3 檔案路徑中,s3://amzn-s3-demo-bucket/2020/01/01/example-dataset.csv,2020/01/01 代表格式為 year/month/day 的日期時間。您可以將參數的時間範圍設定為間隔,例如 1 years24 hours1 years 的間隔會比對所有 S3 路徑的日期時間,位於介於目前時間及恰恰一年之前者。目前時間是您開始匯出對資料所做的轉換的時間。如需匯出資料的更多相關資訊,請參閱匯出。如果目前的日期是 2022/01/01,而時間範圍是 1 years,S3 路徑就會符合下列資料集:

  • s3://amzn-s3-demo-bucket/2021/01/01/example-dataset .csv

  • s3://amzn-s3-demo-bucket/2021/06/30/example-dataset .csv

  • s3://amzn-s3-demo-bucket/2021/12/31/example-dataset .csv

在相對時間範圍內的日期時間值,會隨著時間的推移而改變。落在相對時間範圍內的 S3 路徑,也可能有所不同。

對於 Amazon S3 檔案路徑 s3://amzn-s3-demo-bucket1/20200101/example-dataset.csv20220101 是可以成為日期時間參數的路徑範例。

若要檢視您在 Data Wrangler 流程中建立的所有參數的表格,請選擇包含 Amazon S3 路徑之文字方塊右側的 `{{}}`。如果不再需要已建立的參數,您可以加以編輯或刪除。若要編輯或刪除參數,請選擇參數右側的圖示。

重要

刪除參數之前,請確定您尚未在 Data Wrangler 流程中的任何位置使用該參數。刪除仍在流程中的參數會導致錯誤。

您可以為 Data Wrangler 流程的任何步驟建立參數。您可以編輯或刪除您已建立的參數。如果您要套用轉換至與您的使用案例不再相關的資料,您可以修改參數的值。修改參數的值會變更您要匯入的資料。

下列各節提供有關使用參數的其他範例和一般指引。您可以透過這些章節來瞭解最適合您的參數。

注意

下列各節包含使用 Data Wrangler 介面覆寫參數和建立處理任務的程序。

您還可以使用下列程序覆寫參數。

若要匯出 Data Wrangler 流程並覆寫參數的值,請執行下列動作。

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

  2. 選擇 匯出至

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

  4. parameter_overrides 底下,為您建立的參數指定不同的值。

  5. 執行 Jupyter 筆記本。

您可以使用 參數,將 Data Wrangler 流程中的轉換套用至符合 Amazon S3 URI 路徑中模式的不同檔案。這有助於非常明確地指定 S3 儲存貯體中要進行轉換的檔案。例如,您可能有一個資料集路徑為 s3://amzn-s3-demo-bucket1/example-prefix-0/example-prefix-1/example-prefix-2/example-dataset.csv。名為 example-dataset.csv 的不同的資料集儲存在許多不同的範例字首下。字首也可能是循序編號。您可以在 Amazon S3 中為數字建立模式URI。模式參數REGEX用於選取符合表達式模式的任何數量的檔案。以下是可能有用的REGEX模式:

  • .* — 符合零個或多個任意字元,除了換行字元

  • .+ — 符合一個或多個任意字元,不包括換行字元

  • \d+ — 符合一個或多個任意小數數字

  • \w+ — 符合一個或多個任意字母數字字元

  • [abc-_]{2,4} — 符合由兩個、三個或四個字元的字串,由一組括號內的字元構成

  • abc|def — 符合一個字串或另一個字串。例如,該作業符合 abcdef

您可以使用具有 \d+ 的值的單一參數,取代下列路徑中的每個數字。

  • s3://amzn-s3-demo-bucket1/example-prefix-3/example-prefix-4/example-prefix-5/example-dataset.csv

  • s3://amzn-s3-demo-bucket1/example-prefix-8/example-prefix-12/example-prefix-13/example-dataset.csv

  • s3://amzn-s3-demo-bucket1/example-prefix-4/example-prefix-9/example-prefix-137/example-dataset.csv

下列程序會為具有 s3://amzn-s3-demo-bucket1/example-prefix-0/example-prefix-1/example-prefix-2/example-dataset.csv 路徑的資料集建立模式參數。

若要建立模式參數,請執行下列步驟。

  1. 在您已匯入的資料集旁邊,選擇 編輯資料集

  2. 強調顯示 example-prefix-0 中的 0

  3. 為下列欄位指定數值:

    • 名稱-參數的名稱

    • 類型模式

    • \d+ 對應於一個或多個數字的規則表達式

  4. 選擇 Create (建立)。

  5. 將 S3 URI 路徑2中的 1和 取代為 參數。路徑應具有下列格式:s3://amzn-s3-demo-bucket1/example-prefix-{{example_parameter_name}}/example-prefix-{{example_parameter_name}}/example-prefix-{{example_parameter_name}}/example-dataset.csv

以下是建立模式參數的一般程序。

  1. 導覽至您的 Data Wrangler 流程。

  2. 在您已匯入的資料集旁邊,選擇 編輯資料集

  3. 反白顯示URI您正在用作模式參數值的 部分。

  4. 選擇建立自訂參數

  5. 為下列欄位指定數值:

    • 名稱-參數的名稱

    • 類型模式

    • —包含您要儲存之模式的規則運算式。

  6. 選擇建立

您可以使用參數,將 Data Wrangler 流程中的轉換套用至具有類似路徑的不同檔案。例如,您可能有一個資料集路徑為 s3://amzn-s3-demo-bucket1/example-prefix-0/example-prefix-1/example-prefix-2/example-dataset.csv

您可以將 Data Wrangler 流程中的轉換套用至 example-prefix-1 下的資料集。您可能想要將相同的轉換套用至 example-prefix-10example-prefix-20 下的 example-dataset.csv

您可以建立儲存值 1 的參數。如果要將轉換套用至不同的資料集,您可以建立處理任務,以不同值取代參數的值。當您想要將 Data Wrangler 流程的轉換套用至新資料時,參數會充當預留位置,以供您變更。您可以在建立 Data Wrangler 處理任務時覆寫參數的值,將 Data Wrangler 流程中的轉換套用至不同的資料集。

請使用下列程序為 s3://amzn-s3-demo-bucket1/example-prefix-0/example-prefix-1/example-prefix-2/example-dataset.csv 建立數值參數。

若要為上述 S3 URI 路徑建立參數,請執行下列動作。

  1. 導覽至您的 Data Wrangler 流程。

  2. 在您已匯入的資料集旁邊,選擇 編輯資料集

  3. 重點標示範例字首 example-prefix-number 的數字。

  4. 選擇建立自訂參數

  5. 名稱指定參數的名稱。

  6. 類型選擇 整數

  7. 指定數字。

  8. 透過重複此程序為剩餘的數字建立參數。

建立參數之後,請將轉換套用至您的資料集,並為它建立目的地節點。如需目的地節點的更多相關資訊,請參閱匯出

使用下列程序,將 Data Wrangler 流程的轉換套用至不同的時間範圍。它假設您已為流程中的轉換建立目的地節點。

若要變更 Data Wrangler 處理任務中的數值參數的值,請執行下列動作。

  1. 在 Data Wrangler 流程中,選擇 建立任務

  2. 僅選取包含對有日期時間參數的資料集的轉換之目的地節點。

  3. 選擇設定作業

  4. 選擇參數

  5. 選擇您已建立之參數的名稱。

  6. 變更參數的值。

  7. 對其他參數重複此程序。

  8. 選擇執行

您可以使用參數,將 Data Wrangler 流程中的轉換套用至具有類似路徑的不同檔案。例如,您可能有一個資料集路徑為 s3://amzn-s3-demo-bucket1/example-prefix/example-dataset.csv

您可將 Data Wrangler 流程​​中的轉換套用至 example-prefix 下的資料集。您可能想要將相同的轉換套用至 another-example-prefixexample-prefix-20 下的 example-dataset.csv

您可以建立儲存值 example-prefix 的參數。如果要將轉換套用至不同的資料集,您可以建立處理任務,以不同值取代參數的值。當您想要將 Data Wrangler 流程的轉換套用至新資料時,參數會充當預留位置,以供您變更。您可以在建立 Data Wrangler 處理任務時覆寫參數的值,將 Data Wrangler 流程中的轉換套用至不同的資料集。

使用下列程序為 s3://amzn-s3-demo-bucket1/example-prefix/example-dataset.csv 建立字串參數。

若要為上述 S3 URI 路徑建立參數,請執行下列動作。

  1. 導覽至您的 Data Wrangler 流程。

  2. 在您已匯入的資料集旁邊,選擇 編輯資料集

  3. 強調顯示範例字首 example-prefix

  4. 選擇建立自訂參數

  5. 名稱指定參數的名稱。

  6. 類型選擇字串

  7. 指定字首。

建立參數之後,請將轉換套用至您的資料集,並為它們建立目的地節點。如需目的地節點的更多相關資訊,請參閱匯出

使用下列程序,將 Data Wrangler 流程的轉換套用至不同的時間範圍。它假設您已為流程中的轉換建立目的地節點。

若要變更 Data Wrangler 處理任務中的數值參數的值,請執行下列動作:

  1. 在 Data Wrangler 流程中,選擇 建立任務

  2. 僅選取包含對有日期時間參數的資料集的轉換之目的地節點。

  3. 選擇設定作業

  4. 選擇參數

  5. 選擇您已建立之參數的名稱。

  6. 變更參數的值。

  7. 對其他參數重複此程序。

  8. 選擇執行

使用日期時間參數,將 Data Wrangler 流程中的轉換套用至不同的時間範圍。反白顯示URI具有時間戳記的 Amazon S3 部分,並為其建立參數。建立參數時,您可以指定時間範圍,從目前時間到過去的某個時間。例如,您可能擁有如下所示URI的 Amazon S3:s3://amzn-s3-demo-bucket1/example-prefix/2022/05/15/example-dataset.csv。您可以儲存 2022/05/15 為日期時間參數。如果您指定一年作為時間範圍,則時間範圍會包含您執行該處理任務的時刻,包含日期時間參數,以及剛好一年之前的時間。如果您執行該處理任務的時刻是 2022 年九月 6 日,或是 2022/09/06,時間範圍可能包含下列項目:

  • s3://amzn-s3-demo-bucket1/example-prefix/2022/03/15/example-dataset.csv

  • s3://amzn-s3-demo-bucket1/example-prefix/2022/01/08/example-dataset.csv

  • s3://amzn-s3-demo-bucket1/example-prefix/2022/07/31/example-dataset.csv

  • s3://amzn-s3-demo-bucket1/example-prefix/2021/09/07/example-dataset.csv

Data Wrangler 流程中的轉換會套用至前面的所有字首。變更該處理任務中的參數的值,不會變更 Data Wrangler 流程中的參數的值。若要將轉換套用至不同時間範圍內的資料集,請執行下列動作:

  1. 建立目的地節點,包含您要使用的所有轉換。

  2. 建立 Data Wrangler 任務。

  3. 設定任務,使用不同的時間範圍為參數。變更該處理任務中的參數的值,不會變更 Data Wrangler 流程中的參數的值。

如需目的地節點和 Data Wrangler 任務的更多相關資訊,請參閱匯出

下列程序會為 Amazon S3 路徑建立日期時間參數:s3://amzn-s3-demo-bucket1/example-prefix/2022/05/15/example-dataset.csv

若要為上述 S3 URI 路徑建立日期時間參數,請執行下列動作。

  1. 導覽至您的 Data Wrangler 流程。

  2. 在您已匯入的資料集旁邊,選擇 編輯資料集

  3. 反白顯示URI您正在使用 作為日期時間參數值的部分。

  4. 選擇建立自訂參數

  5. 名稱指定參數的名稱。

  6. 類型選擇 日期時間

    注意

    根據預設值,Data Wrangler 會選取 預先定義,它會提供下拉式清單,供您選取日期格式。不過,您使用的時間戳記格式可能不可用。您可以選擇 自訂並手動指定時間戳記格式,而不是使用 預先定義做為預設選項。

  7. 日期格式開啟預先定義後面的下拉式清單,然後選擇 yyyy/MM/dd。格式 yyyy/MM/dd 對應時間戳記的年/月/日。

  8. 時區,選擇時區。

    注意

    您正在分析的資料可能會採用與您所在時區不同的時區時間戳記。請確定您選取的時區與資料的時區相符。

  9. 時間範圍指定參數的時間範圍。

  10. (選用) 輸入描述以描述您如何使用該參數。

  11. 選擇建立

建立日期時間參數之後,請將轉換套用至您的資料集,並為它們建立目的地節點。如需目的地節點的更多相關資訊,請參閱匯出

使用下列程序,將 Data Wrangler 流程的轉換套用至不同的時間範圍。它假設您已為流程中的轉換建立目的地節點。

若要變更 Data Wrangler 處理任務中的日期時間參數的值,請執行下列動作:

  1. 在 Data Wrangler 流程中,選擇建立任務

  2. 僅選取包含對有日期時間參數的資料集的轉換之目的地節點。

  3. 選擇設定作業

  4. 選擇參數

  5. 選擇您已建立之日期時間參數的名稱。

  6. 時間範圍變更資料集的時間範圍。

  7. 選擇執行