本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用資料集匯入任務將大量資料匯入 Amazon Personalize
格式化輸入資料 (請參閱準備 Amazon Personalize 的訓練資料) 並完成 後建立結構描述和資料集,您就可以使用資料集匯入任務匯入大量資料。資料集匯入任務是一種大量匯入工具,可將來自 Amazon S3 的資料填入資料集。
若要從 Amazon S3 匯入資料,您的 CSV 檔案必須位於 Amazon S3 儲存貯體中,而且您必須授予 Amazon Personalize 存取 Amazon S3 資源的許可:
-
如需將檔案上傳至 Amazon S3 的資訊,請參閱《Amazon Simple Storage Service 使用者指南》中的使用拖放功能上傳檔案和資料夾。
-
如需在 Amazon S3 中授予 Amazon Personalize 檔案存取權的詳細資訊,請參閱 讓 Amazon Personalize 存取 Amazon S3 資源。
如果您使用 AWS Key Management Service (AWS KMS) 進行加密,則必須授予 Amazon Personalize 和您的 Amazon Personalize IAM 服務角色許可,才能使用您的金鑰。如需詳細資訊,請參閱授予 Amazon Personalize 許可以使用您的 AWS KMS 金鑰。
您可以使用 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。
匯入大量記錄 (主控台)
-
在 https://console.aws.amazon.com/personalize/home
:// 開啟 Amazon Personalize 主控台並登入您的帳戶。 -
在資料集群組頁面上,選擇您的資料集群組。顯示資料集群組概觀。
-
在導覽窗格中,選擇資料集,然後選擇您要匯入大量資料的資料集。
-
在資料集匯入任務中,選擇建立資料集匯入任務。
-
如果這是您的第一個資料集匯入任務,對於資料匯入來源,請選擇從 S3 匯入資料。
-
對於資料集匯入任務名稱,請指定匯入任務的名稱。
-
如果您已匯入大量資料,請在匯入模式下選擇如何更新資料集。選擇取代現有資料或新增至現有資料。資料。如果這是您資料集的第一個任務,則不會顯示此選項。如需詳細資訊,請參閱訓練後更新資料集中的資料。
-
在資料匯入來源中,針對資料位置,指定資料檔案存放於 Amazon S3 的位置。使用下列語法:
s3:/amzn-s3-demo-bucket/<folder path>/<CSV filename>
如果您的 CSV 檔案位於 Amazon S3 儲存貯體的資料夾中,而且您想要將多個 CSV 檔案上傳到具有一個資料集匯入任務的資料集,您可以指定資料夾的路徑。Amazon Personalize 只會使用資料夾第一層中的檔案,不會在任何子資料夾中使用任何資料。使用下列語法搭配 資料夾名稱
/
後面的 :s3:/amzn-s3-demo-bucket/<folder path>/
-
在 IAM 角色中,選擇建立新的角色或使用現有的角色。如果您完成先決條件,請選擇使用現有的服務角色,並指定您在 中建立的角色為 Amazon Personalize 建立 IAM 角色。
-
如果您建立了指標屬性,並想要將與此任務相關的指標發佈至 Amazon S3,在將事件指標發佈至 S3 中,選擇為此匯入任務發佈指標。
如果您尚未建立指標,並想要發佈此任務的指標,請選擇建立指標屬性,在不同的索引標籤上建立新的指標屬性。建立指標屬性後,您可以返回此畫面並完成建立匯入任務。
如需指標屬性的詳細資訊,請參閱 測量 Amazon Personalize 建議的影響。
-
對於標籤,選擇性地新增任何標籤。如需標記 Amazon Personalize 資源的詳細資訊,請參閱標記 Amazon Personalize 資源。
-
選擇 Start import (開始匯入)。開始執行資料匯入任務並顯示 Dashboard Overview (儀表板概觀) 頁面。當狀態顯示為 ACTIVE 時,即表示資料集匯入完成。將資料匯入 Amazon Personalize 資料集後,您可以分析資料、將其匯出至 Amazon S3 儲存貯體、更新資料,或刪除資料集。
匯入資料後,您已準備好建立網域建議程式 (適用於網域資料集群組) 或自訂資源 (適用於自訂資料集群組),以訓練資料上的模型。您可以使用這些資源來產生建議。如需詳細資訊,請參閱 Amazon Personalize 中的網域建議程式 或 用於訓練和部署 Amazon Personalize 模型的自訂資源。
建立資料集匯入任務 (AWS CLI)
重要
根據預設,資料集匯入任務會取代您大量匯入之資料集中的任何現有資料。如果您已匯入大量資料,您可以變更任務的匯入模式來附加資料。
若要使用 匯入大量記錄 AWS CLI,請使用 CreateDatasetImportJob命令建立資料集匯入任務。如果您先前已建立資料集的資料集匯入任務,您可以使用匯入模式參數來指定如何新增資料。如需更新現有大量資料的詳細資訊,請參閱訓練後更新資料集中的資料。
匯入大量記錄 (AWS CLI)
-
執行以下命令來建立資料集匯入任務。為您的資料集提供 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-mode
是FULL
。如需詳細資訊,請參閱 訓練後更新資料集中的資料。如需該操作的詳細資訊,請參閱 CreateDatasetImportJob。aws personalize create-dataset-import-job \ --job-name
dataset import job name
\ --dataset-arndataset arn
\ --data-source dataLocation=s3://amzn-s3-demo-bucket
/filename
\ --role-arnroleArn
\ --import-modeFULL
資料集匯入任務 ARN 隨即顯示,如下列範例所示。
{ "datasetImportJobArn": "arn:aws:personalize:us-west-2:acct-id:dataset-import-job/DatasetImportJobName" }
-
使用
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 角色。預設的 importMode
是 FULL
。這會取代資料集中的所有大量資料。若要附加資料,請將其設定為 INCREMENTAL
。如需更新現有大量資料的詳細資訊,請參閱訓練後更新資料集中的資料。
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 模型的自訂資源。