

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 用户数据集架构要求（自定义）
<a name="user-dataset-requirements"></a>

 *用户数据集* 存储有关用户的元数据。这可能包括每个物品的年龄、性别或会员资格等信息。有关您可以导入 Amazon Personalize 的用户数据类型的信息，请参阅[用户元数据](users-datasets.md)。

 您为每个用户提供的数据必须与您的架构相匹配。您必须至少为每个用户提供一个用户 ID（最大长度为 256 个字符）。根据您的架构，用户元数据可以包含 empty/null 值。您的用户架构必须至少有一个元数据字段，但是如果您添加 `null` 类型，则用户的该值可以为空。您可以根据您的使用案例和数据自由添加其他字段。只要字段未列为必填字段或保留字段，并且数据类型列在[架构数据类型](how-it-works-dataset-schema.md#personalize-datatypes)中，则字段名称和数据类型由您决定。

 要使用分类数据，请添加类型为 `string` 的字段，并在架构中将该字段的类别属性设置为 `true`。然后，将分类数据包含在批量 CSV 文件和单个记录导入中。对于具有多个类别的用户，使用竖线“\|”分隔每个值。例如，对于 SUBSCRIPTION\_MODEL 字段，您的用户数据可能是 student\|monthly\|discount。

分类值最多可以有 1000 个字符。如果您的用户的分类值超过 1000 个字符，则您的数据集导入作业将失败。

有关用户数据集的最低要求和最大数据限制的更多信息，请参阅[服务配额](limits.md#limits-table)。

## 用户架构示例（自定义）
<a name="schema-examples-users"></a>

以下示例展示了如何构建用户架构。`USER_ID` 字段为必填字段，`AGE` 和 `GENDER` 字段为元数据字段。至少需要一个元数据字段，您最多可以添加 25 个元数据字段。有关架构要求的信息，请参阅[自定义数据集和架构要求](custom-datasets-and-schemas.md#dataset-requirements)。

```
{
  "type": "record",
  "name": "Users",
  "namespace": "com.amazonaws.personalize.schema",
  "fields": [
      {
          "name": "USER_ID",
          "type": "string"
      },
      {
          "name": "AGE",
          "type": "int"
      },
      {
          "name": "GENDER",
          "type": "string",
          "categorical": true
      }
  ],
  "version": "1.0"
}
```

对于此架构，CSV 文件中的前几行历史数据可能如下所示。

```
USER_ID,AGE,GENDER
5,34,Male
6,56,Female
8,65,Male
...
...
```