Spanner to Vertex AI Vector Search 템플릿

Cloud Storage의 Spanner to Vertex AI Vector Search 파일 템플릿은 Spanner 테이블부터 Cloud Storage에 이르기까지의 데이터를 JSON 형식으로 임베딩하는 벡터를 내보내는 일괄 파이프라인을 만듭니다. 템플릿 매개변수를 사용하여 벡터 임베딩을 내보낼 Cloud Storage 폴더를 지정합니다. Cloud Storage 폴더에는 Vertex AI Vector Search 색인에서 지원하는 형식으로 벡터 임베딩을 나타내는 내보낸 .json 파일의 목록이 포함됩니다.

자세한 내용은 입력 데이터 형식 및 구조를 참조하세요.

파이프라인 요구사항

  • Spanner 데이터베이스가 있어야 합니다.
  • 데이터를 출력할 수 있는 Cloud Storage 버킷이 있어야 합니다.
  • Dataflow 작업을 실행하는 데 필요한 Identity and Access Management(IAM) 역할 외에도 Spanner 데이터를 읽고 Cloud Storage에 쓰는 데 필요한 IAM 역할이 필요합니다.

템플릿 매개변수

매개변수 설명
spannerProjectId Spanner 인스턴스의 프로젝트 ID입니다.
spannerInstanceId 벡터 임베딩을 내보낼 Spanner 인스턴스의 ID입니다.
spannerDatabaseId 벡터 임베딩을 내보낼 Spanner 데이터베이스의 ID입니다.
spannerTable 읽을 Spanner 테이블입니다.
spannerColumnsToExport Vertex AI Vector Search 색인의 쉼표로 구분된 필수 열 목록입니다. Vector Search에는 idembedding 열이 필요합니다. 열 이름이 Vertex AI Vector Search 색인 입력 구조와 일치하지 않으면 별칭을 사용하여 열 매핑을 만듭니다. 열 이름이 Vertex AI에서 사용하는 형식과 일치하지 않으면 from:to 표기법을 사용합니다. 예를 들어 idmy_embedding이라는 열이 있으면 id, my_embedding:embedding을 지정합니다.
gcsOutputFolder 출력 파일을 쓸 Cloud Storage 폴더입니다. 이 경로는 슬래시로 끝나야 합니다. 예를 들면 gs://your-bucket/folder1/입니다.
gcsOutputFilePrefix 출력 파일을 쓰기 위한 파일 이름 프리픽스입니다. 예를 들면 vector-embeddings입니다.
spannerHost 선택사항: 템플릿에서 호출할 Spanner 엔드포인트입니다. 기본값은 https://batch-spanner.googleapis.com입니다.
spannerVersionTime 선택사항: 설정한 경우 데이터베이스 버전을 사용할 시간을 지정합니다. 값은 Unix epoch 시간의 RFC-3339 날짜 형식 문자열입니다. 예를 들면 1990-12-31T23:59:60Z입니다. 타임스탬프는 과거여야 하며 최대 타임스탬프 비활성이 적용됩니다. 설정하지 않으면 강력한 경계가 최신 데이터를 읽는 데 사용됩니다. 기본값은 빈 값입니다.
spannerDataBoostEnabled 선택사항: true로 설정하면 템플릿에서 Spanner 주문형 컴퓨팅을 사용합니다. 내보내기 작업은 현재 Spanner 워크로드에 영향을 주지 않는 독립 컴퓨팅 리소스에서 실행됩니다. 이 옵션을 사용하면 Spanner에서 추가 요금이 발생합니다. 자세한 내용은 Spanner Data Boost 개요를 참조하세요. 기본값은 false입니다.
spannerPriority 선택사항: Spanner 호출의 요청 우선순위입니다. 허용되는 값은 HIGH, MEDIUM, LOW입니다. 기본값은 MEDIUM입니다.

템플릿 실행

콘솔

  1. Dataflow 템플릿에서 작업 만들기 페이지로 이동합니다.
  2. 템플릿에서 작업 만들기로 이동
  3. 작업 이름 필드에 고유한 작업 이름을 입력합니다.
  4. (선택사항): 리전 엔드포인트의 드롭다운 메뉴에서 값을 선택합니다. 기본 리전은 us-central1입니다.

    Dataflow 작업을 실행할 수 있는 리전 목록은 Dataflow 위치를 참조하세요.

  5. Dataflow 템플릿 드롭다운 메뉴에서 the Spanner to Vertex AI Vector Search files on Cloud Storage template을 선택합니다.
  6. 제공된 매개변수 필드에 매개변수 값을 입력합니다.
  7. 작업 실행을 클릭합니다.

gcloud

셸 또는 터미널에서 템플릿을 실행합니다.

gcloud dataflow jobs run JOB_NAME \
    --gcs-location=gs://dataflow-templates-REGION_NAME/VERSION/Cloud_Spanner_vectors_to_Cloud_Storage \
    --project=PROJECT_ID \
    --region=REGION_NAME \
    --parameters \
       spannerProjectId=SPANNER_PROJECT_ID,\
       spannerInstanceId=SPANNER_INSTANCE_ID,\
       spannerDatabaseId=SPANNER_DATABASE_ID,\
       spannerTable=SPANNER_TABLE,\
       spannerColumnsToExport=SPANNER_COLUMNS_TO_EXPORT,\
       gcsOutputFolder=GCS_OUTPUT_FOLDER,\
       gcsOutputFilePrefix=GCS_OUTPUT_FILE_PREFIX,\

다음을 바꿉니다.

  • JOB_NAME: 선택한 고유한 작업 이름입니다.
  • VERSION: 사용할 템플릿 버전입니다.

    다음 값을 사용할 수 있습니다.

  • REGION_NAME: Dataflow 작업을 배포할 리전(예: us-central1)
  • SPANNER_PROJECT_ID: Spanner 프로젝트 ID
  • SPANNER_INSTANCE_ID: Spanner 인스턴스 ID
  • SPANNER_DATABASE_ID: Spanner 데이터베이스 ID
  • SPANNER_TABLE: Spanner 테이블
  • SPANNER_COLUMNS_TO_EXPORT: Spanner 테이블에서 내보낼 열
  • GCS_OUTPUT_FOLDER: 파일을 출력할 Cloud Storage 폴더
  • GCS_OUTPUT_FILE_PREFIX: Cloud Storage의 출력 파일 프리픽스

API

REST API를 사용하여 템플릿을 실행하려면 HTTP POST 요청을 전송합니다. API 및 승인 범위에 대한 자세한 내용은 projects.templates.launch를 참조하세요.

POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates-LOCATION/VERSION/Cloud_Spanner_vectors_to_Cloud_Storage
{
   "jobName": "JOB_NAME",
   "parameters": {
     "spannerProjectId": "SPANNER_PROJECT_ID",
     "spannerInstanceId": "SPANNER_INSTANCE_ID",
     "spannerDatabaseId": "SPANNER_DATABASE_ID",
     "spannerTable": "SPANNER_TABLE",
     "spannerColumnsToExport": "SPANNER_COLUMNS_TO_EXPORT",
     "gcsOutputFolder": "GCS_OUTPUT_FOLDER",
     "gcsOutputFilePrefix": "GCS_OUTPUT_FILE_PREFIX",
   },
   "environment": { "maxWorkers": "10" }
}

다음을 바꿉니다.

  • PROJECT_ID: Dataflow 작업을 실행하려는 Google Cloud 프로젝트 ID입니다.
  • JOB_NAME: 선택한 고유한 작업 이름입니다.
  • VERSION: 사용할 템플릿 버전입니다.

    다음 값을 사용할 수 있습니다.

  • LOCATION: Dataflow 작업을 배포할 리전(예: us-central1)
  • SPANNER_PROJECT_ID: Spanner 프로젝트 ID
  • SPANNER_INSTANCE_ID: Spanner 인스턴스 ID
  • SPANNER_DATABASE_ID: Spanner 데이터베이스 ID
  • SPANNER_TABLE: Spanner 테이블
  • SPANNER_COLUMNS_TO_EXPORT: Spanner 테이블에서 내보낼 열
  • GCS_OUTPUT_FOLDER: 파일을 출력할 Cloud Storage 폴더
  • GCS_OUTPUT_FILE_PREFIX: Cloud Storage의 출력 파일 프리픽스

다음 단계