기존 Apache Iceberg 테이블을 등록하면 메타데이터가 Lakehouse 런타임 카탈로그에 통합되어 네임스페이스 내에서 테이블 데이터를 쿼리하고 관리할 수 있습니다. 이 프로세스는 새 빈 테이블 구조와 연결된 스토리지를 초기화하는 테이블 생성과 다릅니다.
시작하기 전에
-
BigLake API가 아직 사용 설정되지 않은 경우 사용 설정합니다.
API 사용 설정에 필요한 역할
API를 사용 설정하려면
serviceusage.services.enable권한이 필요합니다. 프로젝트를 만든 경우 소유자 역할 (roles/owner)을 통해 이 권한이 이미 있을 수 있습니다. 그렇지 않으면 서비스 사용량 관리자 역할 (roles/serviceusage.serviceUsageAdmin)을 통해 이 권한을 얻을 수 있습니다. 역할을 부여하는 방법 알아보기 - Apache Iceberg REST 카탈로그 엔드포인트로 Lakehouse 런타임 카탈로그를 설정합니다.
필요한 역할
표를 등록하는 데 필요한 권한을 얻으려면 관리자에게 프로젝트 및 스토리지 버킷에 대한 다음 IAM 역할을 부여해 달라고 요청하세요.
-
표를 등록합니다.
- BigLake 관리자 (
roles/biglake.admin) - 프로젝트 - 스토리지 관리자 (
roles/storage.admin) - 대상 Cloud Storage 버킷
- BigLake 관리자 (
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.
테이블 등록
기존 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 프로젝트 IDCATALOG_ID: 카탈로그 IDNAMESPACE_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 프로젝트 IDCATALOG_ID: 카탈로그 IDNAMESPACE_NAME: 카탈로그 네임스페이스 이름입니다.TABLE_NAME: 등록된 테이블의 이름입니다.METADATA_LOCATION: 테이블의 최신 메타데이터 JSON 파일의 Cloud Storage URI입니다.OVERWRITE: 테이블이 있으면 덮어쓰는true이고, 그렇지 않으면false입니다.
다음 단계
- 테이블을 나열하는 방법 알아보기
- 테이블을 쿼리하는 방법을 알아보세요.
- 테이블 ACL 관리 방법 알아보기