

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Amazon Personalize 스키마에 대한 스키마 JSON 파일 생성
<a name="how-it-works-dataset-schema"></a>

 [데이터를 준비](preparing-training-data.md)한 후에는 가져오는 각 데이터 유형에 대한 스키마 JSON 파일을 생성할 준비가 되었습니다. 이러한 파일은 열 이름 및 데이터 유형을 포함하여 데이터의 구조와 내용을 간략하게 설명합니다.

 [스키마 및 데이터세트 생성](data-prep-creating-datasets.md)에서 Amazon Personalize 스키마를 생성할 때 스키마 JSON 파일을 사용합니다. 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 파일이어야 합니다. 예를 들어, 특정 필드는 여러 하위 필드의 부모 필드가 될 수 없습니다.
+ Personalize 스키마는 배열 및 맵과 같은 복잡한 유형을 지원하지 않습니다.
+  스키마 필드는 고유한 영숫자 이름을 가져야 합니다. 예를 들어, `GENRES_FIELD_1`필드와 `GENRESFIELD1`필드를 모두 추가할 수는 없습니다.
+ 필수 필드를 필수 데이터 유형으로 정의해야 합니다. 예약된 범주형 문자열 필드는 `categorical`속성을 `true`로 설정해야만 하며, 예약된 문자열 필드는 범주형일 수 없습니다. 키워드는 데이터에 포함될 수 없습니다.
+ 고유 메타데이터 유형 `string` 필드를 추가하고 교육 시 Amazon Personalize에서 사용하도록 하려면 `categorical` 속성 또는 `textual` 속성(항목 스키마는 텍스트 속성이 있는 필드만 지원)을 포함해야 합니다.
+ Personalize는 추천을 교육하거나 필터링할 때 `boolean`유형 데이터를 사용하지 않습니다. Personalize가 교육 또는 필터링 시 부울 데이터를 사용하도록 하려면, 문자열 유형의 필드를 사용하고 데이터에 값 `"True"`및 `"False"`를 사용합니다.** 또는 int 또는 long 유형과 값 `0`및 `1`를 사용할 수 있습니다.****
+  텍스트 필드는 해당 유형 `string`이어야 하며 `textual`속성이 `true`로 설정되어 있어야 합니다. 비정형 텍스트 데이터에 대한 자세한 내용은 [비정형 텍스트 메타데이터](items-datasets.md#text-data)단원을 참조하세요.

 도메인 데이터세트 그룹 데이터세트에는 도메인과 데이터세트 유형에 따른 추가 요구 사항이 있습니다. 사용자 지정 데이터세트 그룹 데이터세트에는 유형에 따라 추가 요구 사항이 있습니다.

### 스키마 데이터 유형
<a name="personalize-datatypes"></a>

Personalize 스키마는 필드에 대해 다음과 같은 Avro 유형을 지원합니다.
+ float
+ double
+ int
+ long
+ 문자열
+ 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
}
```