本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
取代資料集的結構描述以新增資料欄
建立項目或使用者資料集後,您可以將其結構描述取代為新的或現有的結構描述。如果您在建立資料集之後變更資料結構,則可以取代資料集的結構描述。例如,您可能有一欄新的項目中繼資料,您希望 Amazon Personalize 在訓練期間考慮。或者,您可能想要新增資料欄,以僅在篩選建議時使用。
當您取代資料集的結構描述時,您必須保留上一個結構描述中的所有欄位,且無法變更其資料類型或屬性。取代資料集的結構描述後,Amazon Personalize 會自動排除任何新資料欄,使其無法針對任何現有推薦者或自訂解決方案進行訓練。如需更多準則和要求,請參閱指導方針和要求。
您可以使用 Amazon Personalize 主控台 AWS Command Line Interface (AWS CLI) 和 AWS SDKs 取代資料集的結構描述。
指導方針和要求
在取代資料集的結構描述之前,請確定您已了解下列指導方針和要求:
-
您無法取代項目互動資料集、動作互動資料集或動作資料集的結構描述。
-
您可以將新欄位新增至取代結構描述,但必須保留先前結構描述中的所有欄位。而且您無法變更他們的資料類型或屬性。例如,如果先前的結構描述包含分類字串資料
MEMBERSHIP_STATUS
的欄位,則您使用的新結構描述必須包含具有這些屬性和資料類型MEMBERSHIP_STATUS
的欄位。 -
如果目前的結構描述具有要重新命名的欄位,或者您想要變更其資料類型或屬性,則可以新增具有新名稱和修改類型或屬性的新欄位。然後在訓練中包含新欄位,並排除舊欄位。任何新欄位都必須支援
null
資料。如果舊欄位不支援 null 資料,則當您匯入資料時,您可以使用預留位置資料來確保您的匯入符合結構描述。如需設定建議者使用之資料欄的相關資訊,請參閱更新推薦者。如需設定解決方案所用資料欄的資訊,請參閱 設定訓練時使用的資料欄。 -
任何新欄位都必須支援
null
資料。如需將 null 類型新增至欄位的資訊,請參閱 結構描述資料類型。 -
取代資料集的結構描述後,Amazon Personalize 會自動排除任何新資料欄,使其無法針對任何現有推薦者或自訂解決方案進行訓練。使用修改的資料集包含下列動作:
-
若要在訓練中使用任何新的資料欄,請匯入與新結構描述相符的資料。然後,更新任何建議程式以使用任何新的資料欄,或建立新的自訂解決方案,並設定訓練時使用的資料欄。
如需更新建議者所使用資料欄的資訊,請參閱更新推薦者。如需設定解決方案所用資料欄的資訊,請參閱設定訓練時使用的資料欄。
-
若要僅在篩選時使用任何資料欄,請匯入與新結構描述相符的資料、建立使用新資料的篩選條件,並將篩選條件套用至建議請求。您不需要更新任何推薦者,或建立或更新任何自訂資源。
-
取代資料集的結構描述 (主控台)
若要將資料集的結構描述取代為 Amazon Personalize 主控台,您可以選擇要修改的資料集,然後選擇以新的結構描述取代,或使用現有的結構描述。
若要取代資料集的結構描述
-
在 https://console.aws.amazon.com/personalize/home
:// 開啟 Amazon Personalize 主控台並登入您的帳戶。 -
在資料集群組頁面上,選擇您的資料集群組。
-
在導覽窗格中,選擇資料集,然後選擇您要修改之資料集的選項按鈕。
-
選擇動作,然後選擇取代結構描述。
-
在結構描述詳細資訊中,選擇以新的結構描述取代,或選擇先前建立的結構描述。
-
指定要使用的新結構描述。如果您已選擇:
-
以新的結構描述取代 ,然後為結構描述命名,然後在結構描述定義中,對結構描述 JSON 進行變更。
-
使用先前建立的結構描述,然後針對先前建立的結構描述,選擇您要使用的結構描述。只會列出符合資格的結構描述。如需結構描述需求的相關資訊,請參閱 指導方針和要求。
-
-
選擇 Replace (取代)。當資料集處於作用中狀態時,您可以開始匯入與新結構描述一致的資料。如需詳細資訊,請參閱將訓練資料匯入 Amazon Personalize 資料集。
取代資料集的結構描述 (AWS CLI)
若要使用 取代資料集的結構描述 AWS CLI,請使用 update-dataset
命令,指定要更新的資料集的 Amazon Resource Name (ARN) 和要使用的新結構描述的 ARN。您無法更新項目互動資料集、動作互動資料集或動作資料集的結構描述。
下列程式碼說明如何使用 更新資料集的結構描述 AWS CLI。若要將資料集的結構描述取代為新的結構描述,請先使用 create-schema
命令。然後使用下列程式碼,將目前的結構描述取代為新的結構描述。如需使用 建立結構描述的資訊 AWS CLI,請參閱 建立資料集和結構描述 (AWS CLI)。如需資料集和結構描述需求的相關資訊,請參閱 為 Amazon Personalize 結構描述建立結構描述 JSON 檔案。
aws personalize update-dataset \ --dataset-arn
Dataset ARN
\ --schema-arnNew schema ARN
當資料集處於作用中狀態時,您可以開始匯入與新結構描述一致的資料。如需詳細資訊,請參閱將訓練資料匯入 Amazon Personalize 資料集。如需有關資料集最新更新的資訊,您可以使用 DescribeDataset操作。
取代資料集的結構描述 (AWS SDKs)
若要使用 AWS SDKs 取代資料集的結構描述,請使用 UpdateDataset
API 操作。指定要更新的資料集的 Amazon Resource Name (ARN) 和要使用的新結構描述。您無法更新項目互動資料集、動作互動資料集或動作資料集的結構描述。
下列程式碼說明如何使用適用於 Python 的 SDK (Boto3) 取代資料集的結構描述。若要將資料集的結構描述取代為新的結構描述,請先使用 CreateSchema操作。然後使用下列程式碼,將目前的結構描述取代為新的結構描述。如需使用 AWS SDKs 建立結構描述的資訊,請參閱 建立資料集和結構描述 (AWS SDKs)。如需資料集和結構描述需求的資訊,請參閱 為 Amazon Personalize 結構描述建立結構描述 JSON 檔案。
import boto3 personalize = boto3.client('personalize') update_dataset_response = personalize.update_dataset( datasetArn = '
dataset_arn
', schemaArn = 'new_schema_arn
' ) print(update_dataset_response)
當資料集處於作用中狀態時,您可以開始匯入與新結構描述一致的資料。如需詳細資訊,請參閱將訓練資料匯入 Amazon Personalize 資料集。如需有關資料集最新更新的資訊,您可以使用 DescribeDataset操作。