기존 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 프로젝트 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 테이블을 등록하려면 POST 요청을
RegisterIcebergTable 엔드포인트에 실행합니다.
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입니다.