카탈로그 만들기

카탈로그 (예: Apache Iceberg REST 카탈로그 또는 Apache Hive 카탈로그)를 만들면 레이크하우스 런타임 카탈로그 내에 관리 엔드포인트가 설정됩니다. 이 엔드포인트는 기본 Cloud Storage 웨어하우스 버킷을 가리키며, 쿼리 엔진과 오픈소스 워크로드가 테이블과 직접 상호작용할 수 있는 메타데이터 레이어를 제공합니다.

Lakehouse for Apache Iceberg의 카탈로그를 만들 때 스토리지 액세스 위임을 위해 최종 사용자 사용자 인증 정보 또는 사용자 인증 정보 벤딩 모드 중에서 선택할 수 있습니다.

시작하기 전에

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

  2. BigLake API를 사용 설정합니다.

    API 사용 설정에 필요한 역할

    API를 사용 설정하려면 serviceusage.services.enable 권한이 포함된 서비스 사용량 관리자 IAM 역할(roles/serviceusage.serviceUsageAdmin)이 필요합니다. 역할 부여 방법 알아보기

    API 사용 설정

필요한 역할

카탈로그를 만드는 데 필요한 권한을 얻으려면 관리자에게 다음 IAM 역할을 부여해 달라고 요청하세요.

  • 전체:
  • 인증 정보 제공 모드의 자동 프로비저닝된 Lakehouse 런타임 카탈로그 서비스 계정: 대상 Cloud Storage 버킷에 대한 스토리지 객체 사용자 (roles/storage.objectUser) 카탈로그를 만든 후 스토리지 버킷에 대한 스토리지 객체 사용자 역할 (roles/storage.objectUser)을 카탈로그의 자동 프로비저닝된 Lakehouse 런타임 카탈로그 서비스 계정에 명시적으로 부여합니다.

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

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

카탈로그 만들기

카탈로그 엔드포인트를 만듭니다.

콘솔

  1. Google Cloud 콘솔에서 Lakehouse 페이지를 엽니다.

    레이크하우스로 이동

  2. 카탈로그 만들기를 선택합니다. 카탈로그 만들기 페이지가 열립니다.

  3. 카탈로그 유형을 선택합니다.

    • Apache Iceberg REST 카탈로그를 만들려면 Iceberg REST 카탈로그를 선택합니다.
    • Apache Hive 카탈로그를 만들려면 Hive 카탈로그를 선택합니다.
  4. Cloud Storage 버킷 선택에 카탈로그와 함께 사용할 Cloud Storage 버킷의 이름을 입력합니다. 또는 찾아보기를 선택하여 기존 버킷 목록에서 선택하거나 버킷을 만듭니다. Cloud Storage 버킷당 하나의 카탈로그만 있을 수 있습니다.

  5. 인증 방법에서 최종 사용자 인증 정보 또는 사용자 인증 정보 벤더 제공 모드를 선택합니다.

    인증서 제공 모드를 선택하면 자동 프로비저닝된 Lakehouse 런타임 카탈로그 서비스 계정에 대상 Cloud Storage 버킷에 대한 명시적 스토리지 객체 사용자 역할 (roles/storage.objectUser)이 필요합니다. 기본적으로 보기 전용 액세스 권한으로 생성됩니다. 이 역할이 없으면 판매된 사용자 인증 정보에 스토리지 쓰기를 실행할 수 있는 충분한 범위가 없습니다.

  6. 만들기를 선택합니다.

    카탈로그가 생성되고 카탈로그 세부정보 페이지가 열립니다.

  7. 인증 방법에서 버킷 권한 설정을 선택합니다.

  8. 대화상자에서 확인을 선택합니다.

    이렇게 하면 카탈로그의 서비스 계정에 스토리지 버킷에 대한 스토리지 객체 관리자 역할이 있는지 확인됩니다. gcloud 또는 Terraform을 사용하여 카탈로그를 만드는 경우 이 역할을 수동으로 부여해야 합니다.

REST

REST API를 사용하여 카탈로그 관리 엔드포인트를 만들려면 CreateIcebergCatalog 엔드포인트에 POST 요청을 수행합니다.

POST /iceberg/v1/restcatalog/extensions/projects/PROJECT_ID/catalogs?icebergCatalogId=CATALOG_ID

요청 본문에는 기본 Cloud Storage 버킷 창고 및 인증 모드와 같은 카탈로그 구성을 정의하는 IcebergCatalog JSON 페이로드가 포함되어야 합니다.

다음을 바꿉니다.

  • PROJECT_ID: Google Cloud 프로젝트 ID입니다.
  • CATALOG_ID: Lakehouse 런타임 카탈로그의 ID입니다.