

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

# 為 Amazon Personalize 結構描述建立結構描述 JSON 檔案
<a name="how-it-works-dataset-schema"></a>

 [準備資料](preparing-training-data.md)後，您就可以為要匯入的每種資料類型建立結構描述 JSON 檔案。這些檔案概述了資料的結構和內容，包括資料欄名稱及其資料類型。

 在 中建立 Amazon Personalize 結構描述時，您可以使用結構描述 JSON 檔案[建立結構描述和資料集](data-prep-creating-datasets.md)。在 Amazon Personalize 中，*結構描述*是一種資源，可讓您在將資料匯入資料集時，讓 Amazon Personalize 剖析資料。您可以為正在使用的每個資料集建立結構描述。

 對於自訂資源，每個資料集都有特定的結構描述要求。對於網域資料集群組，您選擇的網域會決定您的資料集和結構描述需求。每個網域都有每個資料集類型的預設結構描述。建立資料集時，您可以使用現有的網域結構描述，或修改現有的預設結構描述來建立新的結構描述。使用預設結構描述作為要為您的網域匯入哪些資料的指南。

 下列各節提供為每個資料集類型建立結構描述 JSON 檔案的自訂和網域需求。

**Topics**
+ [結構描述格式要求](#general-schema-requirements)
+ [VIDEO\_ON\_DEMAND 資料集和結構描述](VIDEO-ON-DEMAND-datasets-and-schemas.md)
+ [ECOMMERCE 資料集和結構描述](ECOMMERCE-datasets-and-schemas.md)
+ [自訂資料集和結構描述](custom-datasets-and-schemas.md)

## 結構描述格式要求
<a name="general-schema-requirements"></a>

當您為網域資料集群組或自訂資料集群組中的資料集建立結構描述時，必須遵循下列準則：
+  您必須以 [Avro 格式](https://docs.oracle.com/database/nosql-12.1.3.0/GettingStartedGuide/avroschemas.html)定義結構描述。如需我們支援之 Avro 資料類型的相關資訊，請參閱 [結構描述資料類型](#personalize-datatypes)。
+  結構描述具有名稱索引鍵，其值必須符合資料集類型。
+ 結構描述欄位可以以任何順序顯示，但必須符合 CSV 檔案中對應資料欄標頭的順序。
+  結構描述必須是不含巢狀結構的平面 JSON 檔案。例如，欄位不能是多個子欄位的父系。
+ Amazon Personalize 結構描述不支援複雜的類型，例如陣列和地圖。
+  結構描述欄位必須具有唯一的英數字元名稱。例如，您無法同時新增`GENRES_FIELD_1`欄位和`GENRESFIELD1`欄位。
+ 您必須將必要欄位定義為其必要資料類型。預留類別字串欄位的`categorical`屬性必須設為 `true`，而預留字串欄位無法分類。關鍵字不能在您的資料中。
+ 如果您新增自己的 類型中繼資料欄位，`string`且希望 Amazon Personalize 在訓練時使用，則必須包含 `categorical` 屬性或 `textual` 屬性 （僅限具有文字屬性的項目結構描述支援欄位）。
+ 訓練或篩選建議時，Amazon Personalize 不會使用`boolean`類型資料。若要讓 Amazon Personalize 在訓練或篩選時使用布林值資料，請使用*字串*類型的欄位，並在您的資料`"False"`中使用值 `"True"` 和 。或者，您可以使用類型 *int* 或*長* 和值 `0`和 `1`。
+  文字欄位必須為 類型，`string`且 屬性必須`textual`設為 `true`。如需非結構化文字資料的詳細資訊，請參閱 [非結構化文字中繼資料](items-datasets.md#text-data)。

 網域資料集群組資料集具有根據網域和資料集類型的其他要求。根據類型，自訂資料集群組資料集有其他需求。

### 結構描述資料類型
<a name="personalize-datatypes"></a>

Amazon Personalize 結構描述支援下列欄位的 Avro 類型：
+ float
+ double
+ int
+ long
+ string
+ boolean
+ null

 有些必要和預留欄位支援 null 資料。將`null`類型新增至欄位可讓您使用不完美的資料 （例如具有空白值的中繼資料） 來產生建議。如需哪些欄位支援 null 資料的資訊，請參閱您網域的結構描述需求主題：[VIDEO\_ON\_DEMAND 資料集和結構描述](VIDEO-ON-DEMAND-datasets-and-schemas.md)、 [ECOMMERCE 資料集和結構描述](ECOMMERCE-datasets-and-schemas.md)或 [自訂資料集和結構描述](custom-datasets-and-schemas.md)。下列範例顯示如何為 GENDER 欄位新增 null 類型。

```
{
  "name": "GENDER",
  "type": [
    "null",
    "string"
  ],
  "categorical": true
}
```