AstraDB에서 BigQuery로 템플릿은 AstraDB에서 레코드를 읽고 BigQuery에 쓰는 일괄 파이프라인입니다.
대상 테이블이 BigQuery에 없으면 파이프라인에서 다음 값을 사용하여 테이블을 만듭니다.
- Cassandra 키스페이스에서 상속된
Dataset ID
- Cassandra 테이블에서 상속된
Table ID
대상 테이블 스키마는 소스 Cassandra 테이블에서 추론됩니다.
List
및Set
는 BigQueryREPEATED
필드에 매핑됩니다.Map
은 BigQueryRECORD
필드에 매핑됩니다.- 다른 모든 유형은 해당 유형이 있는 BigQuery 필드에 매핑됩니다.
- Cassandra 사용자 정의 유형(UDT) 및 튜플 데이터 유형은 지원되지 않습니다.
파이프라인 요구사항
- 토큰이 있는 AstraDB 계정
템플릿 매개변수
필수 매개변수
- astraToken: 토큰 값 또는 보안 비밀 리소스 ID입니다. 예를 들면
AstraCS:abcdefghij
입니다. - astraDatabaseId: 데이터베이스 고유 식별자 (UUID)입니다. 예를 들면
cf7af129-d33a-498f-ad06-d97a6ee6eb7
입니다. - astraKeyspace: Astra 데이터베이스 내의 Cassandra 키스페이스의 이름입니다.
- astraTable: Cassandra 데이터베이스 내의 테이블 이름입니다. 예를 들면
my_table
입니다.
선택적 매개변수
- astraQuery: 전체 테이블을 읽는 대신 행을 필터링하는 데 사용하는 쿼리입니다.
- astraDatabaseRegion: 제공하지 않으면 멀티 리전 데이터베이스에 유용한 기본값이 선택됩니다.
- minTokenRangesCount: 쿼리 배포를 위해 사용할 최소 분할 수입니다.
- outputTableSpec: 출력을 작성할 BigQuery 테이블 위치입니다.
<PROJECT_ID>:<DATASET_NAME>.<TABLE_NAME>
형식을 사용합니다. 테이블 스키마가 입력 객체와 일치해야 합니다.
템플릿 실행
콘솔
- Dataflow 템플릿에서 작업 만들기 페이지로 이동합니다. 템플릿에서 작업 만들기로 이동
- 작업 이름 필드에 고유한 작업 이름을 입력합니다.
- (선택사항): 리전 엔드포인트의 드롭다운 메뉴에서 값을 선택합니다. 기본 리전은
us-central1
입니다.Dataflow 작업을 실행할 수 있는 리전 목록은 Dataflow 위치를 참조하세요.
- Dataflow 템플릿 드롭다운 메뉴에서 the AstraDB to BigQuery template을 선택합니다.
- 제공된 매개변수 필드에 매개변수 값을 입력합니다.
- 작업 실행을 클릭합니다.
gcloud
셸 또는 터미널에서 템플릿을 실행합니다.
gcloud dataflow flex-template run JOB_NAME \ --template-file-gcs-location=gs://dataflow-templates-REGION_NAME/VERSION/flex/AstraDB_To_BigQuery \ --project=PROJECT_ID \ --region=REGION_NAME \ --parameters \ astraToken=ASTRA_TOKEN,\ astraDatabaseId=ASTRA_DATABASE_ID,\ astraKeyspace=ASTRA_KEYSPACE,\ astraTable=ASTRA_TABLE,\
다음을 바꿉니다.
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
)ASTRA_TOKEN
: Astra 토큰입니다.ASTRA_DATABASE_ID
: 데이터베이스 식별자입니다.ASTRA_KEYSPACE
: Cassandra 키스페이스입니다.ASTRA_TABLE
: Cassandra 테이블입니다.
API
REST API를 사용하여 템플릿을 실행하려면 HTTP POST 요청을 전송합니다. API 및 승인 범위에 대한 자세한 내용은 projects.templates.launch
를 참조하세요.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/flexTemplates:launch { "launchParameter": { "jobName": "JOB_NAME", "parameters": { "astraToken": "ASTRA_TOKEN", "astraDatabaseId": "ASTRA_DATABASE_ID", "astraKeyspace": "ASTRA_KEYSPACE", "astraTable": "ASTRA_TABLE", }, "containerSpecGcsPath": "gs://dataflow-templates-LOCATION/VERSION/flex/AstraDB_To_BigQuery", "environment": { "maxWorkers": "10" } } }
다음을 바꿉니다.
PROJECT_ID
: Dataflow 작업을 실행하려는 Google Cloud 프로젝트 IDJOB_NAME
: 선택한 고유한 작업 이름VERSION
: 사용할 템플릿 버전다음 값을 사용할 수 있습니다.
latest
: 버킷의 날짜가 지정되지 않은 상위 폴더(gs://dataflow-templates-REGION_NAME/latest/)에서 사용할 수 있는 최신 버전의 템플릿을 사용합니다.- 버전 이름(예:
2023-09-12-00_RC00
): 버킷의 날짜가 지정된 해당 상위 폴더(gs://dataflow-templates-REGION_NAME/)에 중첩되어 있는 특정 버전의 템플릿을 사용합니다.
LOCATION
: Dataflow 작업을 배포할 리전(예:us-central1
)ASTRA_TOKEN
: Astra 토큰입니다.ASTRA_DATABASE_ID
: 데이터베이스 식별자입니다.ASTRA_KEYSPACE
: Cassandra 키스페이스입니다.ASTRA_TABLE
: Cassandra 테이블입니다.
다음 단계
- Dataflow 템플릿 알아보기
- Google 제공 템플릿 목록 참조