

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

# 특성 그룹에 특성 및 레코드 추가
<a name="feature-store-update-feature-group"></a>

Amazon SageMaker Feature Store API 또는 콘솔을 사용하여 특성 그룹을 업데이트 및 설명하고 특성 그룹에 특성과 레코드를 추가할 수 있습니다. 특성 그룹은 데이터를 포함하는 객체이며 특성은 테이블의 열을 설명합니다. 특성 그룹에 특성을 추가하면 테이블에 열이 효과적으로 추가됩니다. 특성 그룹에 새 레코드를 추가하면 특정 레코드 식별자와 관련된 특성의 값이 입력됩니다. 특성 저장소 개념에 대한 자세한 내용은 [특성 저장소 개념](feature-store-concepts.md)섹션을 참조하세요.

특성 그룹에 특성을 성공적으로 추가한 후에는 해당 특성을 제거할 수 없습니다. 추가한 특성은 레코드에 데이터를 추가하지 않습니다. 새 레코드를 특성 그룹에 추가하거나 [PutRecord](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_feature_store_PutRecord.html) API를 사용하여 새 레코드를 덮어쓸 수 있습니다. 레코드를 업데이트 및 설명하고, 특성 그룹에 추가하는 방법에 대한 예는 [예제 코드](#feature-store-update-feature-group-example)섹션을 참조하세요.

콘솔을 사용하여 특성 그룹에 특성을 추가할 수 있습니다. 콘솔을 사용하여 특성 그룹을 업데이트하는 방법에 대한 자세한 내용은 [콘솔에서 특성 그룹 업데이트](feature-store-use-with-studio.md#feature-store-update-feature-group-studio) 섹션을 참조하세요.

다음 섹션에서는 특성 저장소 API를 사용하여 특성 그룹에 특성을 추가하는 방법에 대한 개요와 예제를 제공합니다. API를 사용하면 특성 그룹을 업데이트한 후 레코드를 추가하거나 덮어쓸 수도 있습니다.

**Topics**
+ [API](#feature-store-update-feature-group-api)
+ [예제 코드](#feature-store-update-feature-group-example)

## API
<a name="feature-store-update-feature-group-api"></a>

[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateFeatureGroup.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateFeatureGroup.html) 작업을 사용하여 특성 그룹에 특성을 추가할 수 있습니다.

[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeFeatureGroup.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeFeatureGroup.html) 작업을 사용하여 특성을 성공적으로 추가했는지 확인할 수 있습니다.

레코드를 추가하거나 덮어쓰려면 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_feature_store_PutRecord.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_feature_store_PutRecord.html)작업을 사용하세요.

레코드에 적용한 업데이트를 보려면 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_feature_store_GetRecord.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_feature_store_GetRecord.html)작업을 사용하세요. 여러 레코드에 적용한 업데이트를 보려면 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_feature_store_BatchGetRecord.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_feature_store_BatchGetRecord.html)작업을 사용하세요. 업데이트한 내용이 표시되는 데 최대 5분이 걸릴 수 있습니다.

다음 섹션의 예제 코드를 사용하여 AWS SDK for Python (Boto3)를 통해 특성 및 레코드를 추가하는 과정을 알아봅니다.

## 예제 코드
<a name="feature-store-update-feature-group-example"></a>

예제 코드는 다음 프로세스를 설명합니다.

1. 특성 그룹에 특성 추가

1. 성공적으로 추가했는지 확인

1. 특성 그룹에 레코드 추가

1. 성공적으로 추가했는지 확인

### 1단계: 특성 그룹에 특성 추가
<a name="feature-store-update-feature-group-step-1"></a>

다음 코드는 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateFeatureGroup.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateFeatureGroup.html)작업을 사용하여 특성 그룹에 새 특성을 추가합니다. 여기서는 특성 저장소를 설정하고 특성 그룹을 생성했다고 가정합니다. 시작하기에 대한 자세한 내용은 [특성 저장소 소개 예제 노트북](feature-store-introduction-notebook.md)섹션을 참조하세요.

```
import boto3

sagemaker_client = boto3.client("sagemaker")

sagemaker_client.update_feature_group(
    FeatureGroupName=feature_group_name,
    FeatureAdditions=[
        {"FeatureName": "new-feature-1", "FeatureType": "Integral"},
        {"FeatureName": "new-feature-2", "FeatureType": "Fractional"},
        {"FeatureName": "new-feature-3", "FeatureType": "String"}
    ]
)
```

다음 코드에서는 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeFeatureGroup.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeFeatureGroup.html)작업을 사용하여 업데이트 상태를 확인합니다. [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeFeatureGroup.html#sagemaker-DescribeFeatureGroup-response-LastUpdateStatus](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeFeatureGroup.html#sagemaker-DescribeFeatureGroup-response-LastUpdateStatus) 필드가 `Successful`과 같으면 특성을 성공적으로 추가한 것입니다.

```
sagemaker_client.describe_feature_group(
    FeatureGroupName=feature_group_name
)
```

### 2단계: 새 레코드를 특성 그룹에 추가
<a name="feature-store-update-feature-group-step-2"></a>

다음 코드는 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_feature_store_PutRecord.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_feature_store_PutRecord.html)작업을 사용하여 생성한 특성 그룹에 레코드를 추가합니다.

```
record_identifier_value = {{'new_record'}}

sagemaker_featurestore_runtime_client = boto3.client("sagemaker-featurestore-runtime")

sagemaker_runtime_client.put_record(
    FeatureGroupName=feature_group_name,
    Record=[
        {
            'FeatureName': {{"record-identifier-feature-name"}},
            'ValueAsString': record_identifier_value
        },
        {
            'FeatureName': {{"event-time-feature"}},
            'ValueAsString': {{"timestamp-that-feature-store-returns"}}
        },
        {
            'FeatureName': {{"new-feature-1"}}, 
            'ValueAsString': {{"value-as-string"}}
        },
        {
            'FeatureName': {{"new-feature-2"}}, 
            'ValueAsString': {{"value-as-string"}}
        },
        {
            'FeatureName': {{"new-feature-3"}}, 
            'ValueAsString': {{"value-as-string"}}
        },
    ]
)
```

[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_feature_store_GetRecord.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_feature_store_GetRecord.html) 작업을 사용하면 추가한 특성에 대한 데이터가 없는 특성 그룹의 레코드 중 어떤 레코드가 있는지 확인할 수 있습니다. [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_feature_store_PutRecord.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_feature_store_PutRecord.html) 작업을 사용하여 추가한 기능에 대한 데이터가 없는 레코드를 덮어쓸 수 있습니다.