取代資料集的結構描述以新增資料欄 - Amazon Personalize

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

取代資料集的結構描述以新增資料欄

建立項目或使用者資料集後,您可以將其結構描述取代為新的或現有的結構描述。如果您在建立資料集之後變更資料結構,則可以取代資料集的結構描述。例如,您可能有一欄新的項目中繼資料,您希望 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 主控台,您可以選擇要修改的資料集,然後選擇以新的結構描述取代,或使用現有的結構描述。

若要取代資料集的結構描述
  1. https://console.aws.amazon.com/personalize/home:// 開啟 Amazon Personalize 主控台並登入您的帳戶。

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

  3. 在導覽窗格中,選擇資料集,然後選擇您要修改之資料集的選項按鈕。

  4. 選擇動作,然後選擇取代結構描述

  5. 結構描述詳細資訊中,選擇以新的結構描述取代,或選擇先前建立的結構描述。

  6. 指定要使用的新結構描述。如果您已選擇:

    • 以新的結構描述取代 ,然後為結構描述命名,然後在結構描述定義中,對結構描述 JSON 進行變更。

    • 使用先前建立的結構描述,然後針對先前建立的結構描述,選擇您要使用的結構描述。只會列出符合資格的結構描述。如需結構描述需求的相關資訊,請參閱 指導方針和要求

  7. 選擇 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-arn New 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操作。