選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

使用資料集匯入任務將大量資料匯入 Amazon Personalize - Amazon Personalize

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

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

使用資料集匯入任務將大量資料匯入 Amazon Personalize

格式化輸入資料 (請參閱準備 Amazon Personalize 的訓練資料) 並完成 後建立結構描述和資料集,您就可以使用資料集匯入任務匯入大量資料。資料集匯入任務是一種大量匯入工具,可將來自 Amazon S3 的資料填入資料集。

若要從 Amazon S3 匯入資料,您的 CSV 檔案必須位於 Amazon S3 儲存貯體中,而且您必須授予 Amazon Personalize 存取 Amazon S3 資源的許可:

您可以使用 Amazon Personalize 主控台 AWS Command Line Interface (AWS CLI) 或 AWS SDKs建立資料集匯入任務。如果您先前為資料集建立資料集匯入任務,您可以使用新的資料集匯入任務來新增或取代現有的大量資料。如需詳細資訊,請參閱訓練後更新資料集中的資料

如果您匯入的項目、使用者或動作,其 ID 與資料集中已存在的記錄相同,Amazon Personalize 會將其取代為新記錄。如果您使用完全相同的時間戳記和相同的屬性記錄兩個項目互動或動作互動事件,Amazon Personalize 只會保留其中一個事件。

匯入資料後,您已準備好建立網域建議程式 (適用於網域資料集群組) 或自訂資源 (適用於自訂資料集群組),以訓練資料上的模型。您可以使用這些資源來產生建議。如需詳細資訊,請參閱 Amazon Personalize 中的網域建議程式用於訓練和部署 Amazon Personalize 模型的自訂資源

匯入模式

如果您已為資料集建立匯入任務,您可以設定 Amazon Personalize 如何新增您的新記錄。若要執行此操作,請為資料集匯入任務指定匯入模式。如果您尚未匯入大量記錄,則 主控台中無法使用匯入模式欄位,您只能在 CreateDatasetImportJob API 操作FULL中指定 。預設為完全取代。

  • 若要覆寫資料集中的所有現有大量資料,請選擇取代 Amazon Personalize 主控台中的現有資料,或在 CreateDatasetImportJob API 操作FULL中指定 。這不會取代您個別匯入的資料,包括即時記錄的事件。

  • 若要將記錄附加至資料集中的現有資料,請選擇新增至現有資料或在 CreateDatasetImportJob API 操作INCREMENTAL中指定。Amazon Personalize 會以新的 ID 取代具有相同 ID 的任何記錄。

    注意

    若要使用資料集匯入任務將資料附加至項目互動資料集或動作互動資料集,您至少必須擁有 1000 個新的項目互動或動作互動記錄。

建立資料集匯入任務 (主控台)

重要

根據預設,資料集匯入任務會取代您大量匯入之資料集中的任何現有資料。如果您已匯入大量資料,您可以變更任務的匯入模式來附加資料。

若要使用 Amazon Personalize 主控台將大量記錄匯入資料集,請建立具有名稱、IAM 服務角色和資料位置的資料集匯入任務。

如果您剛在 中建立資料集建立結構描述和資料集,請跳至步驟 5。

匯入大量記錄 (主控台)
  1. https://console.aws.amazon.com/personalize/home:// 開啟 Amazon Personalize 主控台並登入您的帳戶。

  2. 資料集群組頁面上,選擇您的資料集群組。顯示資料集群組概觀

  3. 在導覽窗格中,選擇資料集,然後選擇您要匯入大量資料的資料集。

  4. 資料集匯入任務中,選擇建立資料集匯入任務

  5. 如果這是您的第一個資料集匯入任務,對於資料匯入來源,請選擇從 S3 匯入資料

  6. 對於資料集匯入任務名稱,請指定匯入任務的名稱。

  7. 如果您已匯入大量資料,請在匯入模式下選擇如何更新資料集。選擇取代現有資料新增至現有資料。資料。如果這是您資料集的第一個任務,則不會顯示此選項。如需詳細資訊,請參閱訓練後更新資料集中的資料

  8. 資料匯入來源中,針對資料位置,指定資料檔案存放於 Amazon S3 的位置。使用下列語法:

    s3:/amzn-s3-demo-bucket/<folder path>/<CSV filename>

    如果您的 CSV 檔案位於 Amazon S3 儲存貯體的資料夾中,而且您想要將多個 CSV 檔案上傳到具有一個資料集匯入任務的資料集,您可以指定資料夾的路徑。Amazon Personalize 只會使用資料夾第一層中的檔案,不會在任何子資料夾中使用任何資料。使用下列語法搭配 資料夾名稱/後面的 :

    s3:/amzn-s3-demo-bucket/<folder path>/

  9. IAM 角色中,選擇建立新的角色或使用現有的角色。如果您完成先決條件,請選擇使用現有的服務角色,並指定您在 中建立的角色為 Amazon Personalize 建立 IAM 角色

  10. 如果您建立了指標屬性,並想要將與此任務相關的指標發佈至 Amazon S3,在將事件指標發佈至 S3 中,選擇為此匯入任務發佈指標

    如果您尚未建立指標,並想要發佈此任務的指標,請選擇建立指標屬性,在不同的索引標籤上建立新的指標屬性。建立指標屬性後,您可以返回此畫面並完成建立匯入任務。

    如需指標屬性的詳細資訊,請參閱 測量 Amazon Personalize 建議的影響

  11. 對於標籤,選擇性地新增任何標籤。如需標記 Amazon Personalize 資源的詳細資訊,請參閱標記 Amazon Personalize 資源

  12. 選擇 Start import (開始匯入)。開始執行資料匯入任務並顯示 Dashboard Overview (儀表板概觀) 頁面。當狀態顯示為 ACTIVE 時,即表示資料集匯入完成。將資料匯入 Amazon Personalize 資料集後,您可以分析資料將其匯出至 Amazon S3 儲存貯體更新資料,或刪除資料集。

    匯入資料後,您已準備好建立網域建議程式 (適用於網域資料集群組) 或自訂資源 (適用於自訂資料集群組),以訓練資料上的模型。您可以使用這些資源來產生建議。如需詳細資訊,請參閱 Amazon Personalize 中的網域建議程式用於訓練和部署 Amazon Personalize 模型的自訂資源

建立資料集匯入任務 (AWS CLI)

重要

根據預設,資料集匯入任務會取代您大量匯入之資料集中的任何現有資料。如果您已匯入大量資料,您可以變更任務的匯入模式來附加資料。

若要使用 匯入大量記錄 AWS CLI,請使用 CreateDatasetImportJob命令建立資料集匯入任務。如果您先前已建立資料集的資料集匯入任務,您可以使用匯入模式參數來指定如何新增資料。如需更新現有大量資料的詳細資訊,請參閱訓練後更新資料集中的資料

匯入大量記錄 (AWS CLI)
  1. 執行以下命令來建立資料集匯入任務。為您的資料集提供 Amazon Resource Name (ARN),並指定您存放訓練資料的 Amazon S3 儲存貯體路徑。對 路徑使用下列語法:

    s3:/amzn-s3-demo-bucket/<folder path>/<CSV filename>

    如果您的 CSV 檔案位於 Amazon S3 儲存貯體的資料夾中,而且您想要將多個 CSV 檔案上傳到具有一個資料集匯入任務的資料集,您可以指定資料夾的路徑。Amazon Personalize 只會使用資料夾第一層中的檔案,不會在任何子資料夾中使用任何資料。使用下列語法搭配 資料夾名稱/後面的 :

    s3:/amzn-s3-demo-bucket/<folder path>/

    提供您在 中建立的 AWS Identity and Access Management (IAM) 角色 Amazon Resource Name (ARN)為 Amazon Personalize 建立 IAM 角色。預設的 import-modeFULL。如需詳細資訊,請參閱 訓練後更新資料集中的資料。如需該操作的詳細資訊,請參閱 CreateDatasetImportJob

    aws personalize create-dataset-import-job \ --job-name dataset import job name \ --dataset-arn dataset arn \ --data-source dataLocation=s3://amzn-s3-demo-bucket/filename \ --role-arn roleArn \ --import-mode FULL

    資料集匯入任務 ARN 隨即顯示,如下列範例所示。

    { "datasetImportJobArn": "arn:aws:personalize:us-west-2:acct-id:dataset-import-job/DatasetImportJobName" }
  2. 使用 describe-dataset-import-job 命令來檢查狀態。提供在前一個步驟中傳回的資料集匯入任務 ARN。如需該操作的詳細資訊,請參閱 DescribeDatasetImportJob

    aws personalize describe-dataset-import-job \ --dataset-import-job-arn dataset import job arn

    這時會顯示資料集匯入任務的屬性,包括其狀態。一開始, status會顯示為 CREATE PENDING。

    { "datasetImportJob": { "jobName": "Dataset Import job name", "datasetImportJobArn": "arn:aws:personalize:us-west-2:acct-id:dataset-import-job/DatasetImportJobArn", "datasetArn": "arn:aws:personalize:us-west-2:acct-id:dataset/DatasetGroupName/INTERACTIONS", "dataSource": { "dataLocation": "s3://amzn-s3-demo-bucket/ratings.csv" }, "importMode": "FULL", "roleArn": "role-arn", "status": "CREATE PENDING", "creationDateTime": 1542392161.837, "lastUpdatedDateTime": 1542393013.377 } }

    當狀態顯示為 ACTIVE 時,即表示資料集匯入完成。將資料匯入 Amazon Personalize 資料集後,您可以分析資料將其匯出至 Amazon S3 儲存貯體更新資料,或刪除資料集。

    匯入資料後,您已準備好建立網域建議程式 (適用於網域資料集群組) 或自訂資源 (適用於自訂資料集群組),以訓練資料上的模型。您可以使用這些資源來產生建議。如需詳細資訊,請參閱 Amazon Personalize 中的網域建議程式用於訓練和部署 Amazon Personalize 模型的自訂資源

建立資料集匯入任務AWS SDKs)

重要

根據預設,資料集匯入任務會取代您大量匯入之資料集中的任何現有資料。如果您已匯入大量資料,您可以變更任務的匯入模式來附加資料。

若要匯入資料,請使用 CreateDatasetImportJob操作建立資料集匯入任務。下列程式碼說明如何建立資料集匯入任務。

提供任務名稱,設定資料集的 datasetArn Amazon Resource Name (ARN),並將 dataLocation 設定為您存放訓練資料的 Amazon S3 儲存貯體路徑。對 路徑使用下列語法:

s3:/amzn-s3-demo-bucket/<folder path>/<CSV filename>.csv

如果您的 CSV 檔案位於 Amazon S3 儲存貯體的資料夾中,而且您想要將多個 CSV 檔案上傳到具有一個資料集匯入任務的資料集,您可以指定資料夾的路徑。Amazon Personalize 只會使用資料夾第一層中的檔案,不會在任何子資料夾中使用任何資料。使用下列語法搭配 資料夾名稱/後面的 :

s3:/amzn-s3-demo-bucket/<folder path>/

針對 roleArn,指定 AWS Identity and Access Management (IAM) 角色,提供 Amazon Personalize 存取 S3 儲存貯體的許可。請參閱 為 Amazon Personalize 建立 IAM 角色。預設的 importModeFULL。這會取代資料集中的所有大量資料。若要附加資料,請將其設定為 INCREMENTAL。如需更新現有大量資料的詳細資訊,請參閱訓練後更新資料集中的資料

SDK for Python (Boto3)
import boto3 personalize = boto3.client('personalize') response = personalize.create_dataset_import_job( jobName = 'YourImportJob', datasetArn = 'dataset_arn', dataSource = {'dataLocation':'s3://amzn-s3-demo-bucket/filename.csv'}, roleArn = 'role_arn', importMode = 'FULL' ) dsij_arn = response['datasetImportJobArn'] print ('Dataset Import Job arn: ' + dsij_arn) description = personalize.describe_dataset_import_job( datasetImportJobArn = dsij_arn)['datasetImportJob'] print('Name: ' + description['jobName']) print('ARN: ' + description['datasetImportJobArn']) print('Status: ' + description['status'])
SDK for Java 2.x
public static String createPersonalizeDatasetImportJob(PersonalizeClient personalizeClient, String jobName, String datasetArn, String s3BucketPath, String roleArn, ImportMode importMode) { long waitInMilliseconds = 60 * 1000; String status; String datasetImportJobArn; try { DataSource importDataSource = DataSource.builder() .dataLocation(s3BucketPath) .build(); CreateDatasetImportJobRequest createDatasetImportJobRequest = CreateDatasetImportJobRequest.builder() .datasetArn(datasetArn) .dataSource(importDataSource) .jobName(jobName) .roleArn(roleArn) .importMode(importMode) .build(); datasetImportJobArn = personalizeClient.createDatasetImportJob(createDatasetImportJobRequest) .datasetImportJobArn(); DescribeDatasetImportJobRequest describeDatasetImportJobRequest = DescribeDatasetImportJobRequest.builder() .datasetImportJobArn(datasetImportJobArn) .build(); long maxTime = Instant.now().getEpochSecond() + 3 * 60 * 60; while (Instant.now().getEpochSecond() < maxTime) { DatasetImportJob datasetImportJob = personalizeClient .describeDatasetImportJob(describeDatasetImportJobRequest) .datasetImportJob(); status = datasetImportJob.status(); System.out.println("Dataset import job status: " + status); if (status.equals("ACTIVE") || status.equals("CREATE FAILED")) { break; } try { Thread.sleep(waitInMilliseconds); } catch (InterruptedException e) { System.out.println(e.getMessage()); } } return datasetImportJobArn; } catch (PersonalizeException e) { System.out.println(e.awsErrorDetails().errorMessage()); } return ""; }
SDK for JavaScript v3
// Get service clients and commands using ES6 syntax. import { CreateDatasetImportJobCommand, PersonalizeClient } from "@aws-sdk/client-personalize"; // create personalizeClient const personalizeClient = new PersonalizeClient({ region: "REGION" }); // Set the dataset import job parameters. export const datasetImportJobParam = { datasetArn: 'DATASET_ARN', /* required */ dataSource: { dataLocation: 's3://amzn-s3-demo-bucket/<folderName>/<CSVfilename>.csv' /* required */ }, jobName: 'NAME', /* required */ roleArn: 'ROLE_ARN', /* required */ importMode: "FULL" /* optional, default is FULL */ }; export const run = async () => { try { const response = await personalizeClient.send(new CreateDatasetImportJobCommand(datasetImportJobParam)); console.log("Success", response); return response; // For unit tests. } catch (err) { console.log("Error", err); } }; run();
import boto3 personalize = boto3.client('personalize') response = personalize.create_dataset_import_job( jobName = 'YourImportJob', datasetArn = 'dataset_arn', dataSource = {'dataLocation':'s3://amzn-s3-demo-bucket/filename.csv'}, roleArn = 'role_arn', importMode = 'FULL' ) dsij_arn = response['datasetImportJobArn'] print ('Dataset Import Job arn: ' + dsij_arn) description = personalize.describe_dataset_import_job( datasetImportJobArn = dsij_arn)['datasetImportJob'] print('Name: ' + description['jobName']) print('ARN: ' + description['datasetImportJobArn']) print('Status: ' + description['status'])

DescribeDatasetImportJob 操作的回應包含操作的狀態。

您必須等到狀態變更為 ACTIVE (作用中),才能使用資料來訓練模型。

當狀態顯示為 ACTIVE 時,即表示資料集匯入完成。將資料匯入 Amazon Personalize 資料集後,您可以分析資料將其匯出至 Amazon S3 儲存貯體更新資料,或刪除資料集。

匯入資料後,您已準備好建立網域建議程式 (適用於網域資料集群組) 或自訂資源 (適用於自訂資料集群組),以訓練資料上的模型。您可以使用這些資源來產生建議。如需詳細資訊,請參閱 Amazon Personalize 中的網域建議程式用於訓練和部署 Amazon Personalize 模型的自訂資源

隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。