取代資料集的結構定義以新增資料欄 - Amazon Personalize

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

取代資料集的結構定義以新增資料欄

建立項目或使用者資料集之後,您可以使用新的或現有的結構描述來取代其結構描述。如果您的資料結構在建立資料集之後發生變更,您可以取代資料集的結構描述。例如,您可能有一個新的項目中繼資料欄,希望 Amazon Personalize 在訓練期間考慮這些項目中繼資料。或者,您可能想要新增資料欄,以便僅在篩選建議時使用。

取代資料集的結構定義時,您必須將所有欄位保留在先前結構定義中,且無法變更其資料類型或屬性。取代資料集的結構描述之後,Amazon Personalize 會自動從任何現有推薦人員或自訂解決方案的訓練中排除任何新資料欄。如需更多指導方針和需求,請參閱指引和要求

您可以使用 Amazon Personalize 主控台、 AWS Command Line Interface (AWS CLI) 和 AWS 開發套件取代資料集的結構描述。

指引和要求

取代資料集的結構定義之前,請確定您已瞭解下列準則和需求:

  • 您無法取代 Item 互動資料集、動作互動資料集或動作資料集的結構描述。

  • 您可以將新欄位新增至您的取代結構描述,但必須將所有欄位保留在先前的結構描述中。而且您不能更改其數據類型或屬性。例如,如果先前的結構描述包含用於分類字串資料的MEMBERSHIP_STATUS欄位,則您使用的新結構描述必須包含具有這些屬性和資料類型的MEMBERSHIP_STATUS欄位。

  • 如果目前結構描述有要重新命名的欄位,或者您想要變更其資料類型或屬性,則可以使用新名稱和修改過的類型或屬性來新增欄位。然後在訓練中包含新欄位,並排除舊欄位。任何新欄位都必須支援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 (取代)。當資料集處於作用中狀態時,您可以開始匯入與新結構描述對齊的資料。如需詳細資訊,請參閱 步驟 2:準備和匯入資料

取代資料集的結構描述 (AWS CLI)

若要使用取代資料集的結構描述 AWS CLI,請使用update-dataset命令,指定要更新之資料集的 Amazon 資源名稱 (ARN),以及要使用的新結構描述的 ARN。您無法更新項目互動資料集、動作互動資料集或動作資料集的結構描述。

下列程式碼示範如何使用 AWS CLI. 若要以新的結構描述取代資料集的結構描述,請先使用create-schema指令。然後使用以下代碼將當前模式替換為新模式。如需有關使用建立資料架構的資訊 AWS CLI,請參閱建立資料集和結構描述 (AWS CLI)。如需資料集和結構描述需求的資訊,請參閱結構描述

aws personalize update-dataset \ --dataset-arn Dataset ARN \ --schema-arn New schema ARN

當資料集處於作用中狀態時,您可以開始匯入與新結構描述對齊的資料。如需詳細資訊,請參閱 步驟 2:準備和匯入資料。如需有關資料集最新更新的資訊,您可以使用此DescribeDataset作業。

取代資料集的結構描述 (AWS SDK)

若要以 AWS SDK 取代資料集的結構描述,請使用 UpdateDataset API 作業。指定要更新之資料集的 Amazon 資源名稱 (ARN) 以及要使用的新結構描述。您無法更新項目互動資料集、動作互動資料集或動作資料集的結構描述。

下列程式碼會示範如何使用適用於 Python (Boto3) 的 SDK 取代資料集的結構描述。若要以新的結構描述取代資料集的結構描述,請先使用該CreateSchema作業。然後使用以下代碼將當前模式替換為新模式。若要取得有關使用 AWS SDK 建立結構描述的資訊,請參閱〈〉建立資料集和結構描述 (AWS SDK)。如需資料集和結構描述需求的資訊,請參閱結構描述

import boto3 personalize = boto3.client('personalize') update_dataset_response = personalize.update_dataset( datasetArn = 'dataset_arn', schemaArn = 'new_schema_arn' ) print(update_dataset_response)

當資料集處於作用中狀態時,您可以開始匯入與新結構描述對齊的資料。如需詳細資訊,請參閱 步驟 2:準備和匯入資料。如需有關資料集最新更新的資訊,您可以使用此DescribeDataset作業。