Cloud Storage Parquet to Bigtable 템플릿은 Cloud Storage 버킷의 Parquet 파일에서 데이터를 읽고 Bigtable 테이블에 데이터를 쓰는 파이프라인입니다. 템플릿을 사용하여 Cloud Storage에서 Bigtable로 데이터를 복사할 수 있습니다.
파이프라인 요구사항
- Bigtable 테이블이 있어야 하며 Parquet 파일에서 내보낸 것과 같은 column family가 있어야 합니다.
- 파이프라인을 실행하기 전에 Cloud Storage 버킷에 입력 Parquet 파일이 있어야 합니다.
- Bigtable에는 입력 Parquet 파일의 특정 스키마가 있어야 합니다.
템플릿 매개변수
필수 매개변수
- bigtableProjectId: Bigtable 인스턴스와 연결된 Google Cloud 프로젝트 ID입니다.
- bigtableInstanceId: 테이블이 있는 Cloud Bigtable 인스턴스의 ID입니다.
- bigtableTableId: 가져올 Bigtable 테이블의 ID입니다.
- inputFilePattern: 데이터가 포함된 파일이 있는 Cloud Storage 경로입니다. 예를 들면
gs://your-bucket/your-files/*.parquet
입니다.
선택적 매개변수
- splitLargeRows: 큰 행을 여러 MutateRows 요청으로 분할하기 위한 플래그입니다. 큰 행이 여러 API 호출 간에 분할되는 경우 행에 대한 업데이트는 원자적이지 않습니다.
템플릿 실행
콘솔
- Dataflow 템플릿에서 작업 만들기 페이지로 이동합니다. 템플릿에서 작업 만들기로 이동
- 작업 이름 필드에 고유한 작업 이름을 입력합니다.
- (선택사항): 리전 엔드포인트의 드롭다운 메뉴에서 값을 선택합니다. 기본 리전은
us-central1
입니다.Dataflow 작업을 실행할 수 있는 리전 목록은 Dataflow 위치를 참조하세요.
- Dataflow 템플릿 드롭다운 메뉴에서 the Parquet Files on Cloud Storage to Cloud Bigtable template을 선택합니다.
- 제공된 매개변수 필드에 매개변수 값을 입력합니다.
- 작업 실행을 클릭합니다.
gcloud
셸 또는 터미널에서 템플릿을 실행합니다.
gcloud dataflow jobs run JOB_NAME \ --gcs-location gs://dataflow-templates-REGION_NAME/VERSION/GCS_Parquet_to_Cloud_Bigtable \ --region REGION_NAME \ --parameters \ bigtableProjectId=BIGTABLE_PROJECT_ID,\ bigtableInstanceId=INSTANCE_ID,\ bigtableTableId=TABLE_ID,\ inputFilePattern=INPUT_FILE_PATTERN
다음을 바꿉니다.
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입니다.INPUT_FILE_PATTERN
: 데이터가 있는 Cloud Storage 경로 패턴입니다(예:gs://mybucket/somefolder/prefix*
).
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/GCS_Parquet_to_Cloud_Bigtable { "jobName": "JOB_NAME", "parameters": { "bigtableProjectId": "BIGTABLE_PROJECT_ID", "bigtableInstanceId": "INSTANCE_ID", "bigtableTableId": "TABLE_ID", "inputFilePattern": "INPUT_FILE_PATTERN", }, "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입니다.INPUT_FILE_PATTERN
: 데이터가 있는 Cloud Storage 경로 패턴입니다(예:gs://mybucket/somefolder/prefix*
).
다음 단계
- Dataflow 템플릿 알아보기
- Google 제공 템플릿 목록 참조