BigQuery 엔드포인트용 맞춤 Apache Iceberg 카탈로그 정보

BigQuery용 커스텀 Apache Iceberg 카탈로그 엔드포인트는 Apache Spark 및 Apache Flink와 같은 오픈소스 쿼리 엔진을 Lakehouse 런타임 카탈로그 에 연결합니다. 커스텀 카탈로그 플러그인 (BigQueryMetastoreCatalog)을 통합하면 이 엔드포인트를 통해 Cloud Storage에 데이터 및 메타데이터 파일을 저장하면서 BigQuery를 통해 Apache Iceberg 테이블 메타데이터를 직접 관리하고 쿼리할 수 있습니다.

커스텀 Iceberg 카탈로그 작동 방식

커스텀 Apache Iceberg 카탈로그는 JAR 라이브러리에서 제공되는 커스텀 카탈로그 구현(org.apache.iceberg.gcp.bigquery.BigQueryMetastoreCatalog)을 사용합니다. 컴퓨팅 워크로드가 Managed Service for Apache Spark에서 실행되면 엔진은 이 플러그인을 사용하여 Apache Iceberg 테이블의 메타데이터 저장소로 BigQuery와 상호작용합니다.

워크플로는 다음과 같이 작동합니다.

  1. 카탈로그 구현: 쿼리 엔진은 BigQuery Metastore 카탈로그 JAR을 로드하고 org.apache.iceberg.gcp.bigquery.BigQueryMetastoreCatalog를 사용하도록 Spark 세션 카탈로그 속성을 구성합니다.
  2. 메타데이터 관리: Spark SQL 또는 DataFrame API를 사용하여 테이블을 만들거나 수정하면 플러그인이 BigQuery에 데이터 세트 및 테이블 정의를 저장합니다.
  3. 데이터 스토리지: Apache Iceberg 메타데이터 파일 (metadata.json, 매니페스트 목록, 매니페스트) 및 데이터 파일 (예: Parquet 파일)은 지정된 Cloud Storage 웨어하우스 경로에 직접 저장됩니다.
  4. 엔진 간 액세스: 메타데이터가 BigQuery에 등록되므로 Spark와 같은 오픈소스 엔진과 BigQuery에서 직접 테이블을 쿼리할 수 있습니다.

리소스 계층 구조

BigQuery 엔드포인트용 커스텀 Apache Iceberg 카탈로그는 메타데이터를 다음 계층 구조로 구성합니다.

리소스 설명
프로젝트 BigQuery 리소스 및 Cloud Storage 웨어하우스 스토리지가 포함된 Google Cloud 프로젝트입니다.
네임스페이스 (데이터 세트) Iceberg 네임스페이스 역할을 하도록 구성된 BigQuery 데이터 세트로, 그 안에 생성된 테이블의 기본 Cloud Storage 위치를 정의합니다.
테이블 스키마, 스냅샷, 메타데이터 포인터가 BigQuery에서 추적되고 데이터 파일이 Cloud Storage에 있는 Apache Iceberg 테이블입니다.

커스텀 Iceberg 카탈로그와 Iceberg REST 카탈로그 비교

다음 표에는 BigQuery 엔드포인트용 커스텀 Apache Iceberg 카탈로그와 Apache Iceberg REST 카탈로그 엔드포인트 간의 주요 차이점이 요약되어 있습니다.

기능 BigQuery용 커스텀 Iceberg 카탈로그 Apache Iceberg REST 카탈로그 엔드포인트 (권장)
카탈로그 API 표준 커스텀 플러그인 (BigQueryMetastoreCatalog) 오픈 표준 Apache Iceberg REST Catalog API
카탈로그 계층 구조 프로젝트 > BigQuery 데이터 세트 > 테이블 프로젝트 > 카탈로그 > 네임스페이스 > 테이블 (P.C.N.T)
스토리지 구성 데이터 세트 또는 테이블별로 지정된 Cloud Storage 경로 다중 버킷 (bl://) 또는 단일 버킷 (gs://) 카탈로그
사용자 인증 정보 벤더 제공 지원되지 않음 (직접 IAM 사용자 인증 정보 사용) 지원됨 (단기 스토리지 액세스 토큰 벤더 제공)
재해 복구 지원되지 않음 지원됨 (리전 간 복제 및 장애 조치)
추천 대상 기존 배포 및 워크플로 새 워크로드 및 표준 Iceberg REST 클라이언트 통합

다음 단계