Bigtable to JSON 템플릿

Bigtable to JSON 템플릿은 Bigtable 테이블에서 데이터를 읽고 JSON 형식으로 Cloud Storage 버킷에 데이터를 쓰는 파이프라인입니다.

파이프라인 요구사항

  • Bigtable 테이블이 있어야 합니다.
  • 파이프라인을 실행하기 전에 출력 Cloud Storage 버킷이 있어야 합니다.

템플릿 매개변수

필수 매개변수

  • bigtableProjectId: 데이터를 읽으려는 Bigtable 인스턴스가 포함된 Google Cloud 프로젝트의 ID입니다.
  • bigtableInstanceId: 테이블을 포함하는 Bigtable 인스턴스의 ID입니다.
  • bigtableTableId: 읽어올 Bigtable 테이블의 ID입니다.
  • filenamePrefix: JSON 파일 이름의 접두사입니다. 예를 들면 table1-입니다. 값이 제공되지 않은 경우 기본값은 part입니다.

선택적 매개변수

  • outputDirectory: 출력 JSON 파일이 저장되는 Cloud Storage 경로입니다. 예를 들면 gs://your-bucket/your-path/입니다.
  • userOption: 가능한 값은 FLATTEN 또는 NONE입니다. FLATTEN는 행을 단일 수준으로 평면화합니다. NONE은 전체 행을 JSON 문자열로 저장합니다. 기본값은 NONE입니다.
  • columnsAliases: Vertex AI 벡터 검색 색인에 필요한 쉼표로 구분된 열 목록입니다. Vertex AI 벡터 검색에는 idembedding 열이 필요합니다. fromfamily:fromcolumn;to 표기법을 사용할 수 있습니다. 예를 들어 열이 rowkeycf:my_embedding이고 여기서 rowkey가 임베딩 열과 다른 이름을 가진 경우 cf:my_embedding;embeddingrowkey;id를 지정합니다. userOption 값이 FLATTEN인 경우에만 이 옵션을 사용합니다.
  • bigtableAppProfileId: 내보내기에 사용할 Bigtable 애플리케이션 프로필의 ID입니다. 앱 프로필을 지정하지 않으면 Bigtable은 인스턴스의 기본 앱 프로필(https://cloud.google.com/bigtable/docs/app-profiles#default-app-profile)을 사용합니다.

템플릿 실행

콘솔

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

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

  5. Dataflow 템플릿 드롭다운 메뉴에서 the Bigtable to JSON template을 선택합니다.
  6. 제공된 매개변수 필드에 매개변수 값을 입력합니다.
  7. 작업 실행을 클릭합니다.

gcloud CLI

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

gcloud dataflow jobs run JOB_NAME \
    --gcs-location=gs://dataflow-templates-REGION_NAME/VERSION/Cloud_Bigtable_to_GCS_Json \
    --project=PROJECT_ID \
    --region=REGION_NAME \
    --parameters \
       bigtableProjectId=BIGTABLE_PROJECT_ID,\
       bigtableInstanceId=BIGTABLE_INSTANCE_ID,\
       bigtableTableId=BIGTABLE_TABLE_ID,\
       filenamePrefix=FILENAME_PREFIX,\

다음을 바꿉니다.

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

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

  • REGION_NAME: Dataflow 작업을 배포할 리전(예: us-central1)
  • BIGTABLE_PROJECT_ID: 프로젝트 ID입니다.
  • BIGTABLE_INSTANCE_ID: 인스턴스 ID입니다.
  • BIGTABLE_TABLE_ID: 테이블 ID입니다.
  • FILENAME_PREFIX: JSON 파일 프리픽스입니다.

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_Bigtable_to_GCS_Json
{
   "jobName": "JOB_NAME",
   "parameters": {
     "bigtableProjectId": "BIGTABLE_PROJECT_ID",
     "bigtableInstanceId": "BIGTABLE_INSTANCE_ID",
     "bigtableTableId": "BIGTABLE_TABLE_ID",
     "filenamePrefix": "FILENAME_PREFIX",
   },
   "environment": { "maxWorkers": "10" }
}

다음을 바꿉니다.

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

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

  • LOCATION: Dataflow 작업을 배포할 리전(예: us-central1)
  • BIGTABLE_PROJECT_ID: 프로젝트 ID입니다.
  • BIGTABLE_INSTANCE_ID: 인스턴스 ID입니다.
  • BIGTABLE_TABLE_ID: 테이블 ID입니다.
  • FILENAME_PREFIX: JSON 파일 프리픽스입니다.

다음 단계