테이블 등록

기존 Apache Iceberg 테이블을 등록하면 메타데이터가 Lakehouse 런타임 카탈로그에 통합되어 네임스페이스 내에서 테이블 데이터를 쿼리하고 관리할 수 있습니다. 이 프로세스는 새 빈 테이블 구조와 연결된 스토리지를 초기화하는 테이블 생성과 다릅니다.

시작하기 전에

  1. Google Cloud 프로젝트에 결제가 사용 설정되어 있는지 확인합니다.

  2. BigLake API가 아직 사용 설정되지 않은 경우 사용 설정합니다.

    API 사용 설정에 필요한 역할

    API를 사용 설정하려면 serviceusage.services.enable 권한이 필요합니다. 프로젝트를 만든 경우 소유자 역할 (roles/owner)을 통해 이 권한이 이미 있을 수 있습니다. 그렇지 않으면 서비스 사용량 관리자 역할 (roles/serviceusage.serviceUsageAdmin)을 통해 이 권한을 얻을 수 있습니다. 역할을 부여하는 방법 알아보기

    API 사용 설정하기

  3. Apache Iceberg REST 카탈로그 엔드포인트로 Lakehouse 런타임 카탈로그를 설정합니다.

필요한 역할

표를 등록하는 데 필요한 권한을 얻으려면 관리자에게 프로젝트 및 스토리지 버킷에 대한 다음 IAM 역할을 부여해 달라고 요청하세요.

  • 표를 등록합니다.
    • BigLake 관리자 (roles/biglake.admin) - 프로젝트
    • 스토리지 관리자 (roles/storage.admin) - 대상 Cloud Storage 버킷

역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.

테이블 등록

기존 Iceberg 테이블을 등록합니다.

gcloud

gcloud를 사용하여 테이블을 등록하려면 gcloud biglake iceberg tables register 명령어를 실행합니다.

gcloud biglake iceberg tables register TABLE_NAME \
    --project="PROJECT_ID" \
    --catalog="CATALOG_ID" \
    --namespace="NAMESPACE_NAME" \
    --metadata-location="METADATA_LOCATION" \
    [--overwrite]

다음을 바꿉니다.

  • TABLE_NAME: 등록된 테이블에 할당할 이름입니다.
  • PROJECT_ID: Google Cloud 프로젝트 ID
  • CATALOG_ID: 카탈로그 ID
  • NAMESPACE_NAME: 카탈로그 네임스페이스 이름입니다.
  • METADATA_LOCATION: 테이블의 최신 메타데이터 JSON 파일의 Cloud Storage URI입니다. 예를 들면 gs://my-bucket/path/to/metadata/00001.metadata.json입니다.
  • --overwrite: (선택사항) 테이블이 이미 있는 경우 덮어씁니다.

REST

REST API를 사용하여 Iceberg 테이블을 등록하려면 RegisterIcebergTable 엔드포인트에 POST 요청을 실행합니다.

POST /iceberg/v1/restcatalog/v1/projects/PROJECT_ID/catalogs/CATALOG_ID/namespaces/NAMESPACE_NAME/register

요청 본문에는 다음 구조의 JSON 페이로드가 포함되어야 합니다.

{
  "name": "TABLE_NAME",
  "metadata-location": "METADATA_LOCATION",
  "overwrite": OVERWRITE
}

다음을 바꿉니다.

  • PROJECT_ID: Google Cloud 프로젝트 ID
  • CATALOG_ID: 카탈로그 ID
  • NAMESPACE_NAME: 카탈로그 네임스페이스 이름입니다.
  • TABLE_NAME: 등록된 테이블의 이름입니다.
  • METADATA_LOCATION: 테이블의 최신 메타데이터 JSON 파일의 Cloud Storage URI입니다.
  • OVERWRITE: 테이블이 있으면 덮어쓰는 true이고, 그렇지 않으면 false입니다.

다음 단계