Cloud Spanner to Cloud Storage Text 템플릿

Cloud Spanner to Cloud Storage Text 템플릿은 Cloud Spanner 테이블에서 데이터를 읽고 Cloud Storage에 CSV 텍스트 파일로 쓰는 일괄 파이프라인입니다.

파이프라인 요구사항

  • 파이프라인을 실행하기 전에 입력 Spanner 테이블이 있어야 합니다.

템플릿 매개변수

매개변수 설명
spannerProjectId 데이터를 읽을 Cloud Spanner 데이터베이스의 Google Cloud 프로젝트 ID입니다.
spannerDatabaseId 요청된 테이블의 데이터베이스 ID입니다.
spannerInstanceId 요청된 테이블의 인스턴스 ID입니다.
spannerTable 데이터를 읽을 테이블입니다.
textWritePrefix 출력 텍스트 파일이 기록되는 디렉터리입니다. 마지막에 /를 추가합니다. 예를 들면 gs://mybucket/somefolder/입니다.
spannerSnapshotTime (선택사항) 읽으려는 Cloud Spanner 데이터베이스의 버전에 해당하는 타임스탬프입니다. 타임스탬프는 RFC 3339 UTC 'Zulu' 형식에 따라 지정되어야 합니다. 예를 들면 1990-12-31T23:59:60Z입니다. 타임스탬프는 과거여야 하며 최대 타임스탬프 비활성이 적용됩니다.

템플릿 실행

콘솔

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

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

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

gcloud

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

gcloud dataflow jobs run JOB_NAME \
    --gcs-location gs://dataflow-templates/VERSION/Spanner_to_GCS_Text \
    --region REGION_NAME \
    --parameters \
spannerProjectId=SPANNER_PROJECT_ID,\
spannerDatabaseId=DATABASE_ID,\
spannerInstanceId=INSTANCE_ID,\
spannerTable=TABLE_ID,\
textWritePrefix=gs://BUCKET_NAME/output/

다음을 바꿉니다.

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

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

    • latest: 버킷의 날짜가 지정되지 않은 상위 폴더(gs://dataflow-templates/latest/)에서 사용할 수 있는 최신 버전의 템플릿을 사용합니다.
    • 버전 이름(예: 2021-09-20-00_RC00): 버킷의 날짜가 지정된 해당 상위 폴더(gs://dataflow-templates/)에 중첩되어 있는 특정 버전의 템플릿을 사용합니다.
  • REGION_NAME: Dataflow 작업을 배포할 리전 엔드포인트(예: us-central1)
  • SPANNER_PROJECT_ID: 데이터를 읽을 Spanner 데이터베이스의 클라우드 프로젝트 ID
  • DATABASE_ID: Spanner 데이터베이스 ID
  • BUCKET_NAME: Cloud Storage 버킷 이름
  • INSTANCE_ID: Spanner 인스턴스 ID
  • TABLE_ID: Spanner 테이블 ID

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/VERSION/Spanner_to_GCS_Text
{
   "jobName": "JOB_NAME",
   "parameters": {
       "spannerProjectId": "SPANNER_PROJECT_ID",
       "spannerDatabaseId": "DATABASE_ID",
       "spannerInstanceId": "INSTANCE_ID",
       "spannerTable": "TABLE_ID",
       "textWritePrefix": "gs://BUCKET_NAME/output/"
   },
   "environment": { "zone": "us-central1-f" }
}

다음을 바꿉니다.

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

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

    • latest: 버킷의 날짜가 지정되지 않은 상위 폴더(gs://dataflow-templates/latest/)에서 사용할 수 있는 최신 버전의 템플릿을 사용합니다.
    • 버전 이름(예: 2021-09-20-00_RC00): 버킷의 날짜가 지정된 해당 상위 폴더(gs://dataflow-templates/)에 중첩되어 있는 특정 버전의 템플릿을 사용합니다.
  • LOCATION: Dataflow 작업을 배포할 리전 엔드포인트(예: us-central1)
  • SPANNER_PROJECT_ID: 데이터를 읽을 Spanner 데이터베이스의 클라우드 프로젝트 ID
  • DATABASE_ID: Spanner 데이터베이스 ID
  • BUCKET_NAME: Cloud Storage 버킷 이름
  • INSTANCE_ID: Spanner 인스턴스 ID
  • TABLE_ID: Spanner 테이블 ID