BigQuery에서 BigLake Iceberg 테이블 구성

이 페이지에서는 BigQuery의 BigLake Iceberg 테이블로 복제하기 위해 Datastream을 구성하는 방법을 설명합니다.

BigLake Iceberg 테이블은 표준 BigQuery 테이블과 동일한 완전 관리형 환경을 제공하지만, 고객 소유 Cloud Storage 버킷에 Apache Iceberg 테이블 형식 및 Parquet 파일 형식으로 데이터를 저장합니다. BigQuery 기능을 사용하여 데이터를 쿼리하고 분석하면서 데이터를 자체 스토리지 버킷에 보관할 수 있습니다.

테이블 메타데이터

Datastream은 BigQuery 대상에 기록되는 각 테이블에 datastream_metadata라는 STRUCT 열을 추가합니다.

datastream_metadata 열에는 다음 필드가 포함됩니다.

  • UUID: 이 필드에는 STRING 데이터 유형이 포함됩니다.
  • SOURCE_TIMESTAMP: 이 필드에는 INTEGER 데이터 유형이 포함됩니다.
  • CHANGE_SEQUENCE_NUMBER: 이 필드에는 STRING 데이터 유형이 포함됩니다. 각 변경 이벤트에 대해 Datastream에 사용되는 내부 시퀀스 번호입니다.
  • CHANGE_TYPE: 이 필드에는 STRING 데이터 유형이 포함됩니다. 변경 이벤트의 유형을 나타냅니다. 추가 전용 쓰기 모드의 값은 INSERT입니다.
  • SORT_KEYS: 이 필드에는 STRING 값 배열이 포함됩니다. 이 값을 사용하여 변경 이벤트를 정렬할 수 있습니다.

BigLake Iceberg 테이블로 스트리밍 구성

BigLake Iceberg 테이블에 데이터를 수집하도록 스트림을 설정하려면 다음 단계를 따르세요.

  1. 데이터를 저장할 Cloud Storage 버킷을 만듭니다.
  2. BigQuery에서 Cloud 리소스 연결을 만듭니다. 이 유형의 연결을 만드는 방법에 대한 자세한 내용은 Cloud 리소스 연결 만들기 및 설정을 참고하세요.
  3. 연결 서비스 계정의 식별자를 가져옵니다.

    bq show --location=LOCATION --connection --project_id=PROJECT_ID
    CONNECTION_NAME
    
  4. 생성된 Cloud Storage 버킷에 대한 Cloud 리소스 연결 액세스 권한을 부여합니다. 이렇게 하려면 연결 서비스 계정에 storage.admin IAM 권한을 추가하세요.

    gcloud storage buckets add-iam-policy-binding gs://YOUR_GCS_BUCKET \
    --member=serviceAccount:YOUR_SERVICE_ACCOUNT_ID \
    --role=roles/storage.admin
    
  5. BigLake Iceberg 테이블 스트림을 만듭니다.

    Google Cloud 콘솔을 사용하여 BigLake Iceberg 테이블 스트림을 만드는 방법에 관한 자세한 내용은 스트림 만들기를 참고하세요.

    REST, Google Cloud CLI 또는 Terraform을 사용하여 BigLake Iceberg 테이블로 데이터를 스트리밍하는 요청을 만드는 방법에 대한 자세한 내용은 API를 사용하여 스트림 관리를 참고하세요.

다음 단계