Bigtable to Cloud Storage Parquet 템플릿은 Bigtable 테이블에서 데이터를 읽어 Parquet 형식으로 Cloud Storage 버킷에 쓰는 파이프라인입니다. 템플릿을 사용하여 Bigtable에서 Cloud Storage로 데이터를 이동할 수 있습니다.
파이프라인 요구사항
- Bigtable 테이블이 있어야 합니다.
- 파이프라인을 실행하기 전에 출력 Cloud Storage 버킷이 있어야 합니다.
템플릿 매개변수
필수 매개변수
- bigtableProjectId: 데이터를 읽으려는 Cloud Bigtable 인스턴스가 포함된 Google Cloud 프로젝트의 ID입니다.
- bigtableInstanceId: 테이블이 있는 Cloud Bigtable 인스턴스의 ID입니다.
- bigtableTableId: 내보낼 Cloud Bigtable 테이블의 ID입니다.
- outputDirectory: 출력 파일을 쓰기 위한 경로 및 파일 이름 프리픽스입니다. 슬래시로 끝나야 합니다. 날짜/시간 형식은 날짜 및 시간 형식 지정 도구의 디렉터리 경로를 파싱하는 데 사용됩니다. 예를 들면
gs://your-bucket/your-path
입니다. - filenamePrefix: Parquet 파일 이름의 프리픽스입니다. 예를 들면
table1-
입니다. 기본값은part
입니다.
선택적 매개변수
- numShards: 쓰는 동안에 생성되는 최대 출력 샤드 수입니다. 샤드 수가 많을수록 Cloud Storage 쓰기 처리량이 높아지지만 출력 Cloud Storage 파일을 처리할 때 샤드 간에 데이터 집계 비용이 늘어날 수 있습니다. Dataflow에서 기본값을 결정합니다.
- bigtableAppProfileId: 내보내기에 사용할 Bigtable 애플리케이션 프로필의 ID입니다. 앱 프로필을 지정하지 않으면 Bigtable은 인스턴스의 기본 앱 프로필(https://cloud.google.com/bigtable/docs/app-profiles#default-app-profile)을 사용합니다.
템플릿 실행
콘솔
- Dataflow 템플릿에서 작업 만들기 페이지로 이동합니다. 템플릿에서 작업 만들기로 이동
- 작업 이름 필드에 고유한 작업 이름을 입력합니다.
- (선택사항): 리전 엔드포인트의 드롭다운 메뉴에서 값을 선택합니다. 기본 리전은
us-central1
입니다.Dataflow 작업을 실행할 수 있는 리전 목록은 Dataflow 위치를 참조하세요.
- Dataflow 템플릿 드롭다운 메뉴에서 the Cloud Bigtable to Parquet Files on Cloud Storage template을 선택합니다.
- 제공된 매개변수 필드에 매개변수 값을 입력합니다.
- 작업 실행을 클릭합니다.
gcloud
셸 또는 터미널에서 템플릿을 실행합니다.
gcloud dataflow jobs run JOB_NAME \ --gcs-location gs://dataflow-templates-REGION_NAME/VERSION/Cloud_Bigtable_to_GCS_Parquet \ --region REGION_NAME \ --parameters \ bigtableProjectId=BIGTABLE_PROJECT_ID,\ bigtableInstanceId=INSTANCE_ID,\ bigtableTableId=TABLE_ID,\ outputDirectory=OUTPUT_DIRECTORY,\ filenamePrefix=FILENAME_PREFIX,\ numShards=NUM_SHARDS
다음을 바꿉니다.
JOB_NAME
: 선택한 고유한 작업 이름VERSION
: 사용할 템플릿 버전다음 값을 사용할 수 있습니다.
latest
: 버킷의 날짜가 지정되지 않은 상위 폴더(gs://dataflow-templates-REGION_NAME/latest/)에서 사용할 수 있는 최신 버전의 템플릿을 사용합니다.- 버전 이름(예:
2023-09-12-00_RC00
): 버킷의 날짜가 지정된 해당 상위 폴더(gs://dataflow-templates-REGION_NAME/)에 중첩되어 있는 특정 버전의 템플릿을 사용합니다.
REGION_NAME
: Dataflow 작업을 배포할 리전(예:us-central1
)BIGTABLE_PROJECT_ID
: 데이터를 읽으려는 Bigtable 인스턴스의 Google Cloud 프로젝트 IDINSTANCE_ID
: 테이블을 포함하는 Bigtable 인스턴스의 ID입니다.TABLE_ID
: 내보낼 Bigtable 테이블의 ID입니다.OUTPUT_DIRECTORY
: 데이터가 작성되는 Cloud Storage 경로입니다(예:gs://mybucket/somefolder
).FILENAME_PREFIX
: Parquet 파일 이름의 프리픽스입니다(예:output-
).NUM_SHARDS
: 출력할 Parquet 파일 수입니다(예:1
).
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_Parquet { "jobName": "JOB_NAME", "parameters": { "bigtableProjectId": "BIGTABLE_PROJECT_ID", "bigtableInstanceId": "INSTANCE_ID", "bigtableTableId": "TABLE_ID", "outputDirectory": "OUTPUT_DIRECTORY", "filenamePrefix": "FILENAME_PREFIX", "numShards": "NUM_SHARDS" }, "environment": { "zone": "us-central1-f" } }
다음을 바꿉니다.
PROJECT_ID
: Dataflow 작업을 실행하려는 Google Cloud 프로젝트 ID입니다.JOB_NAME
: 선택한 고유한 작업 이름VERSION
: 사용할 템플릿 버전다음 값을 사용할 수 있습니다.
latest
: 버킷의 날짜가 지정되지 않은 상위 폴더(gs://dataflow-templates-REGION_NAME/latest/)에서 사용할 수 있는 최신 버전의 템플릿을 사용합니다.- 버전 이름(예:
2023-09-12-00_RC00
): 버킷의 날짜가 지정된 해당 상위 폴더(gs://dataflow-templates-REGION_NAME/)에 중첩되어 있는 특정 버전의 템플릿을 사용합니다.
LOCATION
: Dataflow 작업을 배포할 리전(예:us-central1
)BIGTABLE_PROJECT_ID
: 데이터를 읽으려는 Bigtable 인스턴스의 Google Cloud 프로젝트 IDINSTANCE_ID
: 테이블을 포함하는 Bigtable 인스턴스의 ID입니다.TABLE_ID
: 내보낼 Bigtable 테이블의 ID입니다.OUTPUT_DIRECTORY
: 데이터가 작성되는 Cloud Storage 경로입니다(예:gs://mybucket/somefolder
).FILENAME_PREFIX
: Parquet 파일 이름의 프리픽스입니다(예:output-
).NUM_SHARDS
: 출력할 Parquet 파일 수입니다(예:1
).
다음 단계
- Dataflow 템플릿 알아보기
- Google 제공 템플릿 목록 참조