특성 그룹은 특성 데이터가 포함된 BigQuery 테이블 또는 뷰와 연결된 특성 레지스트리 리소스입니다. 특성 그룹에는 여러 특성이 포함될 수 있으며, 각 특성은 특성 데이터 소스의 열과 연결됩니다. 특성 레지스트리에 특성 데이터 소스를 등록하려면 특성 그룹을 만든 다음 특성을 추가합니다.
특성 그룹을 만들고 BigQuery 데이터 소스를 연결한 후에는 데이터 소스의 열과 연결된 특성을 만들 수 있습니다. 특성 그룹을 만드는 동안 데이터 소스를 연결하는 것은 선택사항이지만, 해당 특성 그룹 내에 특성을 만들기 전에 BigQuery 테이블 또는 뷰를 연결해야 합니다. 각 특성은 특성 그룹과 연결된 데이터 소스의 열에 해당합니다.
특성 그룹과 특성을 사용하는 이유는 무엇인가요?
특성 데이터 소스 등록은 선택사항입니다. 하지만 다음 시나리오에서는 특성 그룹과 특성을 만들어 특성 데이터를 등록해야 합니다.
시계열 형식의 과거 데이터를 사용하여 모델 학습: 특성 데이터 소스에 동일한 엔티티 ID에 대한 여러 특성 레코드가 포함된 최신 특성 데이터와 과거 특성 데이터가 모두 포함된 경우
feature_timestamp
열을 추가하여 이 데이터의 형식을 시계열로 지정합니다. 이 시나리오에서는 특성 그룹과 특성을 사용하여 데이터 소스를 등록해야 합니다. 그런 다음 다음과 같이 기능을 제공할 수 있습니다.여러 소스의 특성 집계: 특성 뷰 인스턴스를 만들 때 특성 그룹을 사용하여 여러 BigQuery 데이터 소스의 특정 열을 집계합니다.
null 특성 값 서빙: 온라인 서빙 중에 null 값을 포함한 최신 특성 값만 서빙하려면
dense
파라미터를true
로 설정하여 특성 그룹을 만들어 특성 데이터 소스를 등록합니다.특성 뷰에서 연속 데이터 동기화 사용: 특성을 등록해야 특성 뷰에서 연속 데이터 동기화를 사용할 수 있습니다.
특성에서 이상치 모니터링: 특성 통계를 가져오고 특성 드리프트를 감지하기 위해 특성 모니터링을 설정하려면 특성을 등록해야 합니다.
기능 그룹과 기능을 사용하지 말아야 하는 경우
특성 데이터 소스에서 삽입을 제공하려면 특성 그룹과 특성을 만들어 데이터 소스를 등록하지 마세요. 이 시나리오에서는 BigQuery 테이블 또는 뷰를 특성 뷰와 직접 연결하여 온라인 서빙을 설정해야 합니다.
특성 데이터 소스를 등록하지 않고 온라인 서빙을 설정하는 방법에 대한 자세한 내용은 BigQuery 소스에서 특성 뷰 만들기를 참고하세요.
액세스 제어
다음 수준에서 기능 그룹의 액세스를 제어할 수 있습니다.
FeatureGroup
리소스에 대한 액세스 제어: 특정 개인, Google 그룹, 도메인 또는 서비스 계정의 기능 그룹에 대한 액세스를 제어하려면 기능 그룹에 대한 IAM 정책을 설정하세요.BigQuery 데이터 소스에 대한 액세스 제어: 기본적으로 기능 그룹은 프로젝트에 구성된 기본 서비스 계정을 사용합니다. Vertex AI Feature Store는 이 서비스 계정에 BigQuery 데이터 뷰어 Identity and Access Management (IAM) 역할을 할당합니다. 이렇게 하면 프로젝트에서 특성 그룹을 만들 수 있는 권한이 있는 모든 사용자가 BigQuery의 특성 데이터 소스에 액세스할 수 있습니다. BigQuery 데이터 소스에 대한 액세스를 제한하거나 추가 사용자에게 액세스 권한을 부여하려면 자체 전용 서비스 계정을 사용하도록 특성 그룹을 설정하면 됩니다. Vertex AI Feature Store는 전용 서비스 계정이 있도록 구성된 각 기능 그룹에 대해 고유한 서비스 계정 이메일 주소를 생성합니다.
시작하기 전에
기능 그룹을 만들기 전에 다음 기본 요건을 완료하세요.
새 온라인 스토어 인스턴스를 만들려는 경우에도 프로젝트에 하나 이상의 온라인 스토어 인스턴스가 생성되어 있어야 합니다. 새 프로젝트를 사용하는 경우 기능 그룹을 만들기 전에 온라인 상점 인스턴스를 만드세요.
BigQuery 테이블 또는 뷰에서 특성 데이터 형식을 지정하여 데이터 소스 준비 가이드라인을 준수합니다.
BigQuery 데이터 소스에
string
또는int
값이 있는 엔티티 ID 열이 하나 이상 포함되어 있는지 확인합니다.아직 Vertex AI에 인증하지 않았다면 인증을 진행합니다.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
Python
로컬 개발 환경에서 이 페이지의 Python 샘플을 사용하려면 gcloud CLI를 설치하고 초기화한 후 사용자 인증 정보로 애플리케이션 기본 사용자 인증 정보를 설정합니다.
Google Cloud CLI를 설치합니다.
외부 ID 공급업체(IdP)를 사용하는 경우 먼저 제휴 ID로 gcloud CLI에 로그인해야 합니다.
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.
자세한 내용은 다음을 참조하세요: Set up authentication for a local development environment.
REST
로컬 개발 환경에서 이 페이지의 REST API 샘플을 사용하려면 gcloud CLI에 제공한 사용자 인증 정보를 사용합니다.
Google Cloud CLI를 설치합니다.
외부 ID 공급업체(IdP)를 사용하는 경우 먼저 제휴 ID로 gcloud CLI에 로그인해야 합니다.
자세한 내용은 Google Cloud 인증 문서의 REST 사용을 위한 인증을 참조하세요.
특성 데이터 소스를 등록하기 위한 특성 그룹 만들기
다음 샘플을 사용하여 특성 그룹을 만들고 BigQuery 테이블 또는 뷰와 같은 특성 데이터 소스를 연결합니다.
콘솔
다음 안내에 따라 Google Cloud 콘솔을 사용하여 특성 그룹을 만듭니다.
Google Cloud 콘솔의 Vertex AI 섹션에서 Feature Store 페이지로 이동합니다.
특성 그룹 섹션에서 만들기를 클릭하여 특성 그룹 만들기 페이지의 기본 정보 창을 엽니다.
특성 그룹 이름을 지정합니다.
선택사항: 라벨을 추가하려면 라벨 추가를 클릭하고 라벨 이름과 값을 지정합니다. 특성 그룹에 여러 라벨을 추가할 수 있습니다.
BigQuery 경로 필드에서 찾아보기를 클릭하여 특성 그룹과 연결할 BigQuery 소스 테이블 또는 뷰를 선택합니다.
엔티티 ID 열 목록에서 BigQuery 소스 테이블 또는 뷰의 엔티티 ID 열을 선택합니다.
BigQuery 소스 테이블 또는 뷰에
entity_id
라는 열이 있는 경우에는 선택사항입니다. 이 경우 엔티티 ID 열을 선택하지 않으면 특성 그룹에서entity_id
열을 기본 엔티티 ID 열로 사용합니다.계속을 클릭합니다.
등록 창에서 다음 옵션 중 하나를 클릭하여 새 특성 그룹에 특성을 추가할지 여부를 나타냅니다.
BigQuery 테이블의 모든 열 포함—BigQuery 소스 테이블 또는 뷰의 모든 열에 대해 특성 그룹 내에 특성을 만듭니다.
특성 수동 입력—BigQuery 소스의 특정 열을 기준으로 특성을 만듭니다. 각 특성에 대해 특성 이름을 입력하고 목록에서 해당 BigQuery 소스 열 이름을 클릭합니다.
더 많은 특성을 추가하려면 다른 특성 추가를 클릭합니다.
빈 특성 그룹 만들기—특성을 추가하지 않고 특성 그룹을 만듭니다.
만들기를 클릭합니다.
Python
Vertex AI SDK for Python을 설치하거나 업데이트하는 방법은 Vertex AI SDK for Python 설치를 참조하세요. 자세한 내용은 Python API 참고 문서를 참조하세요.
project
: 프로젝트 ID입니다.location
: 특성 그룹을 만들 리전입니다(예:us-central1
).feature_group_id
: 만들려는 새 특성 그룹의 이름입니다.bq_table_uri
: 특성 그룹에 등록하려는 BigQuery 소스 테이블 또는 뷰의 URI입니다.entity_id_columns
: 엔티티 ID가 포함된 열의 이름입니다. 열을 한 개 또는 여러 개 지정할 수 있습니다.- 엔티티 ID 열을 하나만 지정하려면 열 이름을 다음 형식으로 지정합니다.
"entity_id_column_name"
. - 여러 개의 엔티티 ID 열을 지정하려면 열 이름을 다음 형식으로 지정합니다.
["entity_id_column_1_name", "entity_id_column_2_name", ...]
.
- 엔티티 ID 열을 하나만 지정하려면 열 이름을 다음 형식으로 지정합니다.
REST
FeatureGroup
리소스를 만들려면 featureGroups.create 메서드를 사용해서POST
요청을 전송합니다.요청 데이터를 사용하기 전에 다음을 바꿉니다.
- LOCATION_ID: 특성 그룹을 만들 리전입니다(예:
us-central1
). - SERVICE_AGENT_TYPE: 선택사항. 기능 그룹의 서비스 계정 구성입니다. 특성 그룹에 전용 서비스 계정을 사용하려면
SERVICE_AGENT_TYPE_FEATURE_GROUP
를 입력합니다. - PROJECT_ID: 프로젝트 ID입니다.
- ENTITY_ID_COLUMNS: 엔티티 ID가 포함된 열의 이름입니다. 열을 한 개 또는 여러 개 지정할 수 있습니다.
- 엔티티 ID 열을 하나만 지정하려면 열 이름을 다음 형식으로 지정합니다.
"entity_id_column_name"
. - 여러 개의 엔티티 ID 열을 지정하려면 열 이름을 다음 형식으로 지정합니다.
["entity_id_column_1_name", "entity_id_column_2_name", ...]
.
- 엔티티 ID 열을 하나만 지정하려면 열 이름을 다음 형식으로 지정합니다.
- FEATUREGROUP_NAME: 만들려는 새 특성 그룹의 이름입니다.
- BIGQUERY_SOURCE_URI: 특성 그룹에 등록하려는 BigQuery 소스 테이블 또는 뷰의 URI입니다.
- TIMESTAMP_COLUMN: 선택사항. BigQuery 소스 테이블 또는 뷰에서 특성 타임스탬프가 포함된 열의 이름을 지정합니다.
데이터 형식이 시계열이고 특성 타임스탬프가 포함된 열의 이름이feature_timestamp
가 아닌 경우에만 타임스탬프 열 이름을 지정해야 합니다.
- STATIC_DATA_SOURCE: 선택사항. 데이터 형식이 시계열이 아닌 경우
true
를 입력합니다. 기본 설정은false
입니다.
- DENSE: 선택사항. Vertex AI Feature Store가 특성 그룹과 연결된 특성 뷰의 데이터를 제공하는 동안 null 값을 처리하는 방식을 나타냅니다.
false
: 기본 설정입니다. Vertex AI Feature Store는 null이 아닌 최신 특성 값만 제공합니다. 특성의 최신 값이 null이면 Vertex AI Feature Store는 null이 아닌 최신 이전 값을 제공합니다. 그러나 특성의 현재 값과 이전 값이 모두 null이면 Vertex AI Feature Store는 null을 특성 값으로 제공합니다.true
: 예약된 데이터 동기화가 있는 특성 뷰의 경우 Vertex AI Feature Store는 null 값을 포함하여 최신 특성 값만 제공합니다. 연속 데이터 동기화가 있는 특성 뷰의 경우 Vertex AI Feature Store는 null이 아닌 최신 특성 값만 제공합니다. 그러나 특성의 현재 값과 이전 값이 모두 null이면 Vertex AI Feature Store는 null을 특성 값으로 제공합니다. 데이터 동기화 유형 및 특성 뷰에서 데이터 동기화 유형을 구성하는 방법에 관한 자세한 내용은 특성 뷰에서 데이터 동기화를 참고하세요.
HTTP 메서드 및 URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureGroups?feature_group_id=FEATUREGROUP_NAME
JSON 요청 본문:
{ "service_agent_type": "SERVICE_AGENT_TYPE", "big_query": { "entity_id_columns": "ENTITY_ID_COLUMNS", "big_query_source": { "input_uri": "BIGQUERY_SOURCE_URI", } "time_series": { "timestamp_column": ""TIMESTAMP_COLUMN"", }, "static_data_source": STATIC_DATA_SOURCE, "dense": DENSE } }
요청을 보내려면 다음 옵션 중 하나를 선택합니다.
curl
요청 본문을
request.json
파일에 저장하고 다음 명령어를 실행합니다.curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureGroups?feature_group_id=FEATUREGROUP_NAME"PowerShell
요청 본문을
request.json
파일에 저장하고 다음 명령어를 실행합니다.$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featureGroups?feature_group_id=FEATUREGROUP_NAME" | Select-Object -Expand Content다음과 비슷한 JSON 응답이 표시됩니다.
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featureGroups/FEATUREGROUP_NAME/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.UpdateFeatureGroupOperationMetadata", "genericMetadata": { "createTime": "2023-09-18T03:00:13.060636Z", "updateTime": "2023-09-18T03:00:13.060636Z" } } }
다음 단계
특성 만들기 방법 알아보기
특성 그룹 업데이트 방법 알아보기
특성 그룹 삭제 방법 알아보기
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다.
최종 업데이트: 2025-10-19(UTC)