카탈로그 (예: Apache Iceberg REST 카탈로그)를 업데이트하면 인증 모드, 기본 웨어하우스 위치 또는 기본 카탈로그 유형과 같은 속성을 수정할 수 있습니다.
예를 들어 단일 버킷 (gs://) 카탈로그를 다중 버킷 (bl://) 카탈로그 유형으로 업그레이드 할 수 있습니다 (권장). 카탈로그를 업그레이드하면 카탈로그가 여러 스토리지 버킷에 걸쳐 있을 수 있는 등 상당한 이점이 있습니다.
시작하기 전에
- Lakehouse 런타임 카탈로그 정보를 읽고 Lakehouse 런타임 카탈로그의 작동 방식과 서비스 제한사항을 파악합니다.
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles. - Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
Verify that billing is enabled for your Google Cloud project.
Enable the BigLake API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM
role (roles/serviceusage.serviceUsageAdmin), which
contains the serviceusage.services.enable permission. Learn how to grant
roles.
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
Verify that billing is enabled for your Google Cloud project.
Enable the BigLake API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM
role (roles/serviceusage.serviceUsageAdmin), which
contains the serviceusage.services.enable permission. Learn how to grant
roles.
필요한 역할
카탈로그를 업데이트하는 데 필요한 권한을 얻으려면 관리자에게 다음의 IAM 역할을 부여해 달라고 요청합니다.
-
전체:
- BigLake 관리자 (
roles/biglake.admin) 프로젝트에 대한 - 스토리지 관리자 (
roles/storage.admin) 프로젝트에 대한
- BigLake 관리자 (
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.
카탈로그 업데이트
콘솔, 또는 REST API를 사용하여 카탈로그를 업데이트할 수 있습니다. Google Cloud gcloud
콘솔
콘솔에서 Lakehouse 페이지를 엽니다. Google Cloud
업데이트할 카탈로그의 행에서 카탈로그 작업 더보기 > 수정을 클릭합니다.
카탈로그 구성에서 업데이트할 설정을 수정합니다.
저장 을 선택합니다.
gcloud
옵션 1: 카탈로그 속성 업데이트
설명 또는 제한된 위치와 같은 카탈로그 속성을 업데이트하려면
gcloud beta biglake iceberg catalogs update 명령어를 실행합니다.
gcloud beta biglake iceberg catalogs update CATALOG_ID \ --project="PROJECT_ID" \ [--description="DESCRIPTION"] \ [--credential-mode="CREDENTIAL_MODE"] \ [--restricted-locations="RESTRICTED_LOCATIONS"]
다음을 바꿉니다.
CATALOG_ID: Lakehouse 런타임 카탈로그의 ID입니다.PROJECT_ID: 프로젝트 ID입니다. Google CloudDESCRIPTION: (선택사항) 카탈로그에 대한 설명입니다.CREDENTIAL_MODE: (선택사항) 인증 방법입니다. 최종 사용자 인증 정보 의 경우end-user를 사용하고 인증 정보 벤더 제공 모드 의 경우vended-credentials를 사용합니다.RESTRICTED_LOCATIONS: (선택사항) 허용된 추가 스토리지 버킷 또는 경로의 쉼표로 구분된 목록입니다. 주의: 겹치는 경로 또는 버킷을 여러 개 지정하면 메타데이터 충돌, 실수로 인한 데이터 덮어쓰기 또는 권한 유출과 같은 보안 문제가 발생할 수 있습니다.
옵션 2: 단일 버킷 (gs://) 카탈로그를 다중 버킷 (bl://) 카탈로그로 업그레이드 (권장)
기존 단일 버킷 (gs://) 카탈로그를 다중 버킷 (bl://) 카탈로그 (권장)로 업그레이드하려면 gcloud beta biglake iceberg catalogs update 명령어를 실행하고 --catalog-type 매개변수를 biglake로 설정합니다.
gcloud beta biglake iceberg catalogs update CATALOG_ID \ --project="PROJECT_ID" \ --catalog-type="biglake"
REST
옵션 1: 카탈로그 속성 업데이트
REST API를 사용하여 카탈로그의 속성 (예: 설명)을 수정하려면 적절한 updateMask를 사용하여 UpdateIcebergCatalog 엔드포인트에 PATCH 요청
을 합니다.
PATCH /iceberg/v1/restcatalog/extensions/projects/PROJECT_ID/catalogs/CATALOG_ID?updateMask=icebergCatalog.description
요청 본문에는 업데이트할 필드가 포함된 IcebergCatalog JSON 페이로드가 포함되어야 합니다.
{
"description": "Updated catalog description"
}
옵션 2: 단일 버킷 (gs://) 카탈로그를 다중 버킷 (bl://) 카탈로그로 업그레이드 (권장)
REST API를 사용하여 유형을 업그레이드하려면 PATCH 요청
을 UpdateIcebergCatalog 엔드포인트에 catalogType를 사용하여 updateMask합니다.
PATCH /iceberg/v1/restcatalog/extensions/projects/PROJECT_ID/catalogs/CATALOG_ID?updateMask=icebergCatalog.catalogType
요청 본문에는 새 카탈로그 유형이 포함된 IcebergCatalog JSON 페이로드가 포함되어야 합니다.
{
"catalogType": "BIGLAKE"
}
다음을 바꿉니다.
PROJECT_ID: 프로젝트 ID입니다. Google CloudCATALOG_ID: Lakehouse 런타임 카탈로그의 ID입니다.