

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

# 데이터세트의 스키마를 바꾸어 새 열 추가
<a name="updating-dataset-schema"></a>

 항목 또는 사용자 데이터 세트를 만든 후 해당 스키마를 새 스키마 또는 기존 스키마로 바꿀 수 있습니다. 데이터세트를 생성한 후 데이터 구조가 변경된 경우 데이터세트의 스키마를 교체할 수 있습니다. 예를 들어 항목 메타데이터의 새 열이 있어서 학습 중에 Personalize에서 고려하길 원할 수 있습니다. 또는 추천을 필터링할 때만 사용할 데이터 열을 추가할 수도 있습니다.

 데이터세트의 스키마를 바꿀 때는 이전 스키마에 모든 필드를 유지해야 하며 데이터 유형이나 속성은 변경할 수 없습니다. 데이터세트의 스키마를 교체하면 Personalize는 기존 추천자 또는 사용자 지정 솔루션에 대한 학습에서 새 열을 자동으로 제외합니다. 자세한 지침 및 요구 사항은 [지침 및 요구 사항](#replace-schema-guidelines)단원을 참조하세요.

 데이터세트의 스키마는 Personalize 콘솔, AWS Command Line Interface(AWS CLI) 및 AWSSDK에서 교체할 수 있습니다.

**Topics**
+ [지침 및 요구 사항](#replace-schema-guidelines)
+ [데이터세트 스키마 교체(콘솔)](#updating-dataset-schema-console)
+ [데이터세트의 스키마 교체(AWS CLI)](#updating-dataset-schema-cli)
+ [데이터세트의 스키마 교체(AWS SDK)](#updating-dataset-schema-sdk)

## 지침 및 요구 사항
<a name="replace-schema-guidelines"></a>

데이터세트의 스키마를 교체하기 전에 다음 지침 및 요구 사항을 알고 있어야 합니다.
+ 항목 상호 작용 데이터 세트, 작업 상호 작용 데이터 세트 또는 작업 데이터 세트의 스키마는 대체할 수 없습니다.
+ 교체 스키마에 새 필드를 추가할 수 있지만 이전 스키마의 모든 필드를 유지해야 합니다. 데이터 유형이나 속성은 변경할 수 없습니다. 예를 들어 이전 스키마에 범주형 문자열 데이터용 `MEMBERSHIP_STATUS`필드가 포함된 경우 사용하는 새 스키마에는 이러한 속성 및 데이터 유형의 `MEMBERSHIP_STATUS`필드가 포함되어야 합니다.
+ 현재 스키마에 이름을 바꾸려는 필드가 있거나 스키마의 데이터 유형 또는 속성을 변경하려는 경우 새 이름과 수정된 유형 또는 속성을 가진 새 필드를 추가할 수 있습니다. 그런 다음 새 필드를 학습에 포함시키고 이전 필드는 제외시킵니다. 모든 새 필드는 `null`데이터를 지원해야 합니다. 이전 필드가 Null 데이터를 지원하지 않는 경우 데이터를 가져올 때 자리 표시자 데이터를 사용하여 가져오기가 스키마와 일치하는지 확인할 수 있습니다. 추천자가 사용하는 열을 구성하는 방법에 대한 자세한 내용은 [추천자 업데이트](updating-recommender.md)단원을 참조하세요. 솔루션이 사용하는 열을 구성하는 방법에 대한 자세한 내용은 [교육 시 사용되는 열 구성](custom-config-columns.md)단원을 참조하세요.
+ 모든 새 필드는 `null`데이터를 지원해야 합니다. 필드에 Null 유형을 추가하는 방법에 대한 자세한 내용은 [스키마 데이터 유형](how-it-works-dataset-schema.md#personalize-datatypes)단원을 참조하세요.
+ 데이터세트의 스키마를 교체하면 Personalize는 기존 추천자 또는 사용자 지정 솔루션에 대한 학습에서 새 열을 자동으로 제외합니다. 수정된 데이터세트를 사용하려면 다음과 같은 작업이 필요합니다.
  + 학습에 새 열을 사용하려면 새 스키마에 맞는 데이터를 가져옵니다. 그런 다음 새 열을 사용하도록 추천자를 업데이트하거나, 새 사용자 지정 솔루션을 만들고 학습 시 사용할 열을 구성합니다.

    추천자가 사용하는 열을 업데이트하는 방법에 대한 자세한 내용은 [추천자 업데이트](updating-recommender.md)단원을 참조하세요. 솔루션이 사용하는 열을 구성하는 방법에 대한 자세한 내용은 [교육 시 사용되는 열 구성](custom-config-columns.md)단원을 참조하세요.
  + 필터링할 때만 열을 사용하려면 새 스키마에 맞는 데이터를 가져오고 새 데이터를 사용하는 필터를 만든 다음 필터를 추천 요청에 적용합니다. 추천자를 업데이트하거나 사용자 지정 리소스를 만들거나 업데이트할 필요가 없습니다.

## 데이터세트 스키마 교체(콘솔)
<a name="updating-dataset-schema-console"></a>

Personalize 콘솔에서 데이터세트의 스키마를 교체하려면 수정할 데이터세트를 선택하고 새 스키마로 바꾸거나 기존 스키마를 사용하도록 선택합니다.

**데이터세트의 스키마를 교체하려면**

1. [https://console.aws.amazon.com/personalize/home](https://console.aws.amazon.com/personalize/home)에서 Amazon Personalize 콘솔을 열고 계정에 로그인합니다.

1.  **데이터세트 그룹** 페이지에서 데이터세트 그룹을 선택합니다.

1. 탐색 창에서 **데이터세트**를 선택하고 수정할 데이터세트의 라디오 버튼을 선택합니다.

1. **작업**을 선택하고 **스키마 교체**를 선택합니다.

1. **스키마 세부 정보**에서 새 스키마로 교체할지 또는 이전에 만든 스키마로 교체할지 선택합니다.

1. 사용할 새 스키마를 지정합니다. 다음을 선택한 경우:
   + 새 스키마로 교체하도록 선택한 경우, 스키마에 이름을 지정한 다음 **스키마 정의**에서 스키마 JSON을 변경합니다.
   + 이전에 생성한 스키마를 사용하도록 선택한 경우, **이전에 생성한 스키마**에 대해 사용할 스키마를 선택합니다. 적합한 스키마만 나열됩니다. 스키마 요구 사항에 대한 자세한 내용은 [지침 및 요구 사항](#replace-schema-guidelines)단원을 참조하세요.

1. **바꾸기**를 선택합니다. 데이터세트가 활성화되면 새 스키마에 맞는 데이터 가져오기를 시작할 수 있습니다. 자세한 내용은 [Amazon Personalize 데이터세트로 학습 데이터 가져오기](import-data.md) 섹션을 참조하세요.

## 데이터세트의 스키마 교체(AWS CLI)
<a name="updating-dataset-schema-cli"></a>

AWS CLI에서 데이터세트의 스키마를 교체하려면 `update-dataset`명령을 사용하여 업데이트할 데이터세트의 리소스 이름(ARN) 과 사용할 새 스키마의 ARN을 지정합니다. 항목 상호 작용 데이터 세트, 작업 상호 작용 데이터 세트 또는 작업 데이터 세트의 스키마는 업데이트할 수 없습니다.

 다음 코드는 AWS CLI에서 데이터세트의 스키마를 업데이트하는 방법을 보여줍니다. 데이터세트의 스키마를 새 스키마로 바꾸려면 먼저 `create-schema`명령을 사용합니다. 그런 후 다음 코드를 사용하여 현재 스키마를 새 스키마로 교체합니다. AWS CLI에서의 외부 스키마 생성에 대한 자세한 내용은 [데이터세트 및 스키마 생성(AWS CLI)](data-prep-creating-datasets.md#data-prep-creating-ds-cli)단원을 참조하세요. 데이터세트 및 스키마 요구 사항에 대한 자세한 내용은 [Amazon Personalize 스키마에 대한 스키마 JSON 파일 생성](how-it-works-dataset-schema.md)단원을 참조하세요.

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

 데이터세트가 활성화되면 새 스키마에 맞는 데이터 가져오기를 시작할 수 있습니다. 자세한 내용은 [Amazon Personalize 데이터세트로 학습 데이터 가져오기](import-data.md) 섹션을 참조하세요. 데이터세트의 최신 업데이트에 대한 자세한 내용은 [DescribeDataset](API_DescribeDataset.md)작업을 사용할 수 있습니다.

## 데이터세트의 스키마 교체(AWS SDK)
<a name="updating-dataset-schema-sdk"></a>

AWS SDK에서 데이터세트의 스키마를 교체하려면 `UpdateDataset`API 작업을 사용합니다. 업데이트할 데이터세트의 리소스 이름(ARN)과 사용할 새 스키마를 지정합니다. 항목 상호 작용 데이터 세트, 작업 상호 작용 데이터 세트 또는 작업 데이터 세트의 스키마는 업데이트할 수 없습니다.

다음 코드는 Python용 SDK(Boto3)에서 데이터세트의 스키마를 교체하는 방법을 보여줍니다. 데이터세트의 스키마를 새 스키마로 바꾸려면 먼저 [CreateSchema](API_CreateSchema.md)작업을 사용합니다. 그런 후 다음 코드를 사용하여 현재 스키마를 새 스키마로 교체합니다. AWS SDK에서의 외부 스키마 생성에 대한 자세한 내용은 [데이터 세트 및 스키마(AWS SDKs) 생성](data-prep-creating-datasets.md#data-prep-creating-ds-sdk)단원을 참조하세요. 데이터세트 및 스키마 요구 사항에 대한 자세한 내용은 [Amazon Personalize 스키마에 대한 스키마 JSON 파일 생성](how-it-works-dataset-schema.md)단원을 참조하세요.

```
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 데이터세트로 학습 데이터 가져오기](import-data.md) 섹션을 참조하세요. 데이터세트의 최신 업데이트에 대한 자세한 내용은 [DescribeDataset](API_DescribeDataset.md)작업을 사용할 수 있습니다.