기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
PythonSDK용 에서 특성 저장소 사용(Boto3)
특성 그룹은 Amazon 특성 저장소에 저장된 기계 학습(ML) 데이터 및 메타데이터를 포함하는 주요 SageMaker 특성 저장소 리소스입니다. 특성 그룹은 특성 및 레코드의 논리적 그룹입니다. 특성 그룹 정의는 온라인 및 오프라인 저장소의 구성과 레코드 값을 설명하는 데 사용되는 특성 정의 목록으로 구성됩니다. 특성 정의에는 레코드 식별자 이름과 이벤트 시간 이름이 포함되어야 합니다.특성 저장소 개념에 대한 자세한 내용은 특성 저장소 개념섹션을 참고하세요.
특성 저장소를 사용하기 전에는 일반적으로 데이터 세트를 로드하고, 변환을 실행하고, 수집할 특성을 설정합니다. 이 프로세스는 변동이 많고 데이터에 따라 크게 달라집니다. 다음 항목의 예제 코드는 각각 Amazon Feature Store 예제 노트북을 사용한 특성 저장소 소개
특성 저장소는 String
, Fractional
(IEEE 64비트 부동 소수점 값) 및 Integral
(Int64 - 64비트 부호 있는 적분 값) 특성 유형을 지원합니다. 기본값 유형은 String
으로 설정됩니다. 즉, 데이터 세트의 열이 float
또는 long
특성 유형이 아닌 경우 해당 열은 기본값으로 특성 저장소에 String
으로 설정됩니다.
스키마를 사용하여 데이터의 열과 데이터 유형을 설명할 수 있습니다. 이 스키마를 FeatureGroup
의 필수 파라미터인 FeatureDefinitions
에 전달합니다. load_feature_definitions
함수를 사용할 때 자동 데이터 형식 감지가 있는 SDK for Python(Boto3)을 사용할 수 있습니다.
기존 레코드 ID를 사용하여 새 특성 레코드를 추가할 때의 기본 동작은 다음과 같습니다. 오프라인 저장소에서는 새 레코드가 추가됩니다. 온라인 저장소에서 새 레코드의 이벤트 시간이 기존 이벤트 시간보다 짧으면 아무 일도 일어나지 않지만 새 레코드의 이벤트 시간이 기존 이벤트 시간보다 크거나 같으면 레코드를 덮어씁니다.
새 특성 그룹을 생성할 때 다음 테이블 형식 중 하나를 선택할 수 있습니다.
-
AWS Glue (기본값)
-
Apache Iceberg
특히 스트리밍할 때 데이터를 수집하면 많은 수의 작은 파일이 오프라인 저장소에 보관될 수 있습니다. 이는 필요한 파일 작업 수가 많아져 쿼리 성능에 부정적인 영향을 미칠 수 있습니다. 잠재적인 성능 문제를 방지하려면 새 특성 그룹 생성 시 Apache Iceberg 테이블 형식을 사용하세요. Iceberg를 사용하면 작은 데이터 파일을 파티션에 있는 더 적은 수의 큰 파일로 압축하여 쿼리 속도를 크게 높일 수 있습니다. 이 압축 작업은 동시에 수행되며 특성 그룹에서 진행 중인 읽기 및 쓰기 작업에는 영향을 주지 않습니다. 새 특성 그룹을 생성할 때 Iceberg 옵션을 선택하면 Amazon SageMaker Feature Store는 Parquet 파일 형식을 사용하여 Iceberg 테이블을 생성하고 테이블을 에 등록합니다 AWS Glue Data Catalog.
중요
Iceberg 테이블 형식의 특성 그룹의 경우 이벤트 시간 값으로 String
을 지정해야 한다는 점에 유의하세요. 다른 유형을 지정하면 특성 그룹을 성공적으로 생성할 수 없습니다.
다음은 사용 가능한 특성 저장소 관리 리소스 몇 가지를 보여줍니다.