Vertex AI Feature Store를 사용하여 온라인으로 특성을 서빙하려면 먼저 다음과 같이 BigQuery에서 특성 데이터 소스를 설정해야 합니다.
- 특성 데이터를 사용하여 BigQuery 테이블이나 뷰를 만듭니다. 특성 데이터를 BigQuery 테이블이나 뷰에 로드하려면 데이터를 사용하여 BigQuery 데이터 세트를 만들고 BigQuery 테이블을 만든 후 특성 데이터를 데이터 세트에서 테이블로 로드하면 됩니다. 
- BigQuery 테이블 또는 뷰에 특성 데이터를 로드한 후에는 온라인 서빙을 위해 이 데이터 소스를 Vertex AI Feature Store에 제공해야 합니다. 온라인 스토어 및 특성 뷰 인스턴스와 같은 두 가지 방법으로 데이터 소스를 온라인 서빙 리소스에 연결할 수 있습니다. - 특성 그룹과 특성을 만들어 데이터 소스 등록: 온라인 스토어의 특성 뷰 인스턴스와 특성 그룹 및 특성을 연결할 수 있습니다. 다음 두 가지 방법 중 하나로 데이터 형식을 지정할 수 있습니다. - 특성 타임스탬프 열을 포함하여 데이터 형식을 시계열로 지정합니다. Vertex AI Feature Store는 이 열의 특성 타임스탬프를 기준으로 각 고유 엔티티 ID에 최신 특성 값만 서빙합니다. 
- 특성 타임스탬프 열을 포함하지 않고 데이터 형식을 지정합니다. Vertex AI Feature Store는 타임스탬프를 관리하고 각 고유 엔티티 ID의 최신 특성 값만 제공합니다. 
 - 특성 그룹을 만드는 방법은 특성 그룹 만들기를 참조하세요. 특성 그룹 내에서 특성을 만드는 방법은 특성 만들기를 참조하세요. 
- 특성 그룹과 특성을 만들지 않고 데이터 소스에서 직접 특성 제공: 특성 뷰에서 데이터 소스 URI를 지정할 수 있습니다. 이 시나리오에서는 데이터의 형식을 시계열로 지정하거나 BigQuery 소스에 이전 데이터를 포함할 수 없습니다. 각 행에는 고유 ID에 해당하는 최신 특성 값이 포함되어야 합니다. 여러 행에 동일한 항목 ID가 여러 번 나타나는 것은 지원되지 않습니다. 
 
Vertex AI Feature Store를 사용하면 BigQuery에서 특성 데이터를 유지하고 BigQuery 데이터 소스에서 특성을 서빙할 수 있으므로 오프라인 스토어로 특성을 가져오거나 복사할 필요가 없습니다.
데이터 소스 준비 가이드라인
BigQuery에서 데이터 소스를 준비하는 동안 다음 가이드라인을 따라 스키마와 제약조건을 이해합니다.
- 데이터 소스에 다음 열을 포함합니다. - 엔티티 ID 열: 데이터 소스에 - string또는- int값이 있는 엔티티 ID 열이 하나 이상 있어야 합니다. 이 열의 기본 이름은- entity_id입니다. 원하는 경우 이 열에 다른 이름을 사용할 수 있습니다. 이 열에 있는 각 값의 크기는 4KB 미만이어야 합니다.- 여러 열의 특성을 사용하여 엔티티 ID를 구성하여 특성 레코드를 지정할 수도 있습니다. 이 시나리오에서는 데이터 소스에 여러 엔티티 ID 열을 포함할 수 있습니다. 각 엔티티 ID 열의 이름은 고유해야 합니다. 특성 그룹을 만들어 데이터 소스를 등록하는 경우 각 특성 그룹의 엔티티 ID 열을 설정합니다. 또는 데이터 소스를 특성 뷰와 직접 연결하는 경우 특성 뷰를 구성하여 엔티티 ID 열을 지정합니다. - 데이터 소스에 여러 ID 열을 포함할 수 있습니다. 이러한 시나리오에서는 각 엔티티 ID 열의 이름이 고유해야 합니다. 특성 레코드의 각 열 값을 사용하여 엔티티 ID를 구성하도록 특성 그룹 또는 특성 뷰를 구성할 수 있습니다. 
- 특성 타임스탬프 열: 선택사항. 특성 그룹과 특성을 사용하여 데이터 소스를 등록하고 데이터의 형식을 시계열로 지정해야 하는 경우 특성 타임스탬프 열을 포함합니다. 타임스탬프 열에는 - timestamp유형 값이 포함됩니다. 타임스탬프 열의 기본 이름은- feature_timestamp입니다. 다른 열 이름을 사용하려면- time_series파라미터를 사용하여 특성 그룹의 타임스탬프 열을 설정하세요.- 데이터 형식을 시계열로 지정하기 위해 타임스탬프 열을 지정하지 않으면 Vertex AI Feature Store가 특성의 타임스탬프를 관리하고 최신 특성 값을 제공합니다. - BigQuery 데이터 소스를 특성 뷰와 직접 연결하는 경우에는 - feature_timestamp열이 필요하지 않습니다. 이 시나리오에서는 데이터 소스에 최신 특성 값만 포함해야 하며 Vertex AI Feature Store는 타임스탬프를 조회하지 않습니다.
- 열 임베딩 및 필터링: 선택사항. 최적화된 온라인 서빙을 위해 만든 온라인 스토어에서 임베딩 관리를 사용하려면 데이터 소스에 다음 열이 포함되어야 합니다. - float유형의 배열이 포함된- embedding열
- 선택사항: - string또는- string배열 유형의 필터링 열 한 개 이상
- 선택사항: - int유형의 크라우딩 열
 
 
- 데이터 소스의 각 행은 엔티티 ID와 연결된 특성 값의 전체 레코드입니다. 특성 값이 열 중 하나에서 누락되면 null 값으로 간주됩니다. 
- BigQuery 테이블이나 뷰의 각 열은 특성을 나타냅니다. 각 특성 값을 별도의 열에 제공합니다. 데이터 소스를 특성 그룹 및 특성과 연결하는 경우 각 열을 별도의 특성과 연결합니다. 
- 특성 값에 지원되는 데이터 유형에는 - bool,- int,- float,- string,- timestamp, 이러한 데이터 유형의 배열, 바이트가 포함됩니다. 데이터 동기화 중에- timestamp유형의 특성 값이- int64로 변환됩니다.
- 데이터 소스는 온라인 스토어 인스턴스와 동일한 리전 또는 온라인 스토어의 리전이 포함되거나 겹치는 멀티 리전에 있어야 합니다. 예를 들어 온라인 스토어가 - us-central에 있으면 BigQuery 소스가- us-central또는- US에 있을 수 있습니다.
- 최신 특성 값만 제공하도록 온라인 서빙 전에 특성 뷰의 데이터를 동기화합니다. 예약된 데이터 동기화를 사용하는 경우 특성 뷰에서 데이터를 수동으로 동기화해야 할 수 있습니다. 하지만 최적화된 온라인 서빙과 함께 연속 데이터 동기화를 사용하는 경우에는 데이터를 수동으로 동기화할 필요가 없습니다.