Lakehouse for Apache Iceberg는 여러 테이블 유형을 지원하며 의 레이크하우스에 다양한 수준의 관리, 성능, 상호 운용성을 제공합니다. Google Cloud데이터 출처, 쓰기 엔진 요구사항, 제어 요구사항에 따라 Lakehouse 런타임 카탈로그 또는 BigQuery에서 지원하는 테이블 형식을 선택할 수 있습니다.
지원되는 테이블 형식
Apache Iceberg V2 테이블만 지원되며 Iceberg V1 테이블은 지원되지 않습니다. 기존 Iceberg V1 테이블이 있는 경우 Lakehouse for Apache Iceberg와 함께 사용하기 전에 V2로 업그레이드해야 합니다 (예: ALTER TABLE catalog.schema.table SET TBLPROPERTIES ('format-version'='2'); 실행 또는 유사한 엔진 작업 사용).
카탈로그 및 엔진별 테이블 형식
아래에서 카탈로그 또는 엔진을 선택하여 지원되는 테이블 형식, metastore 구성, 스토리지 최적화 기능, 엔진 상호 운용성에 대해 알아보세요.
Iceberg REST 카탈로그
Lakehouse 런타임 카탈로그는 Iceberg REST 카탈로그 엔드포인트를 통해 Apache Iceberg 테이블을 관리하며 Apache Spark, Apache Flink, Trino와 같은 오픈소스 엔진과의 광범위한 호환성을 위한 표준 REST 인터페이스를 제공합니다. 오픈소스 엔진에서 이러한 테이블을 만들고 Cloud Storage에 저장합니다. 이 옵션은 ETL 워크플로를 오픈소스 엔진에서 관리하고 BigQuery에서 읽기 액세스만 필요한 경우에 가장 적합합니다.
주요 기능은 다음과 같습니다.
- Metastore: Lakehouse 런타임 카탈로그
- 스토리지: Cloud Storage.
- 스토리지 최적화: 사용자 또는 서드 파티에서 관리
- 읽기 및 쓰기 액세스:
- 오픈소스 엔진: 읽기 및 쓰기
- BigQuery: 읽기 전용
- 사용 사례: 고급 분석, 스트리밍, AI를 위한 고성능 엔터프라이즈급 스토리지가 포함된 개방형 레이크하우스
Hive metastore
Lakehouse 런타임 카탈로그는 Apache Spark ExternalCatalog 호환성에 최적화된 Apache Hive metastore (HMS) 엔드포인트를 통해 Apache Hive 테이블을 관리하므로 Apache Spark, Apache Hive, BigQuery 전반에서 데이터를 원활하게 공유할 수 있습니다. 오픈소스 엔진에서 이러한 테이블을 만들고 Cloud Storage에 저장합니다. 이 옵션은 별도의 자체 호스팅 Hive metastore가 필요하지 않고 BigQuery에서 읽기 액세스만 필요한 경우 ETL 워크플로를 오픈소스 엔진에서 관리하는 데 가장 적합합니다.
주요 기능은 다음과 같습니다.
- Metastore: Lakehouse 런타임 카탈로그 (커스텀
IMetastoreClient를 통해) - 스토리지: Cloud Storage (Parquet, ORC, Avro와 같은 형식 지원)
- 스토리지 최적화: 사용자 또는 서드 파티에서 관리
- 읽기 및 쓰기 액세스:
- 오픈소스 엔진 (Spark 및 Hive): 읽기 및 쓰기
- BigQuery: 읽기 전용
- 사용 사례: 기존 Spark 및 Hive 워크로드를 완전 관리형 서버리스 metastore로 마이그레이션 Google Cloud
BigQuery
BigQuery는 Apache Iceberg 테이블, 기본 테이블, 외부 테이블을 지원합니다.
Apache Iceberg 테이블: BigQuery에서 만들고 관리하며 Cloud Storage에 저장하는 Apache Iceberg 테이블입니다. 오픈소스 엔진에서 읽을 수 있지만 BigQuery는 메타데이터를 관리하고 테이블에 쓰는 엔진입니다. 이 옵션은 워크플로를 BigQuery에서 완전히 관리하려는 경우에 가장 적합합니다.
기본 테이블: 기본 BigQuery 테이블입니다. 완전 관리형이며 가장 고급 분석 및 관리 기능을 제공합니다. 이 옵션은 Iceberg가 아닌 워크로드에 가장 적합합니다.
외부 테이블: 이러한 테이블은 Cloud Storage, Amazon S3 또는 Azure Blob Storage에 저장된 데이터에 대한 BigQuery 전용 구조입니다. 데이터와 메타데이터는 자체 관리되며 BigQuery에는 읽기 액세스 권한만 있습니다. 서드 파티 카탈로그 또는 스토리지에서 직접 관리하려는 데이터에 대해 이 옵션을 선택하세요.
테이블 유형 비교
다음 차트를 사용하여 Lakehouse 런타임 카탈로그와 BigQuery 간의 테이블 유형을 비교하세요.
Lakehouse
| Apache Iceberg (GA) | Apache Hive (미리보기) | |
|---|---|---|
| Metastore | Lakehouse 런타임 카탈로그 | Lakehouse 런타임 카탈로그 |
| 스토리지 | Cloud Storage | Cloud Storage |
| 스토리지 최적화 | 고객 또는 서드 파티 관리 | 고객 또는 서드 파티 관리 |
| 읽기 / 쓰기 |
오픈소스 엔진(읽기/쓰기) BigQuery(읽기 전용) |
오픈소스 엔진 (읽기/쓰기) BigQuery (읽기 전용) |
| 고급 작업 | 없음 | 없음 |
| 사용 사례 | 개방형 레이크하우스 | 기존 Spark 및 Hive 워크로드를 완전 관리형 서버리스 metastore로 마이그레이션 |
BigQuery
| BigQuery 관리형 Iceberg | 외부 테이블 | 표준 테이블 | |
|---|---|---|---|
| Metastore | BigQuery | 외부 또는 자체 호스팅 metastore | BigQuery |
| 스토리지 | Cloud Storage | Cloud Storage / Amazon S3 / Azure | BigQuery |
| 스토리지 최적화 | Google 관리 | 고객 또는 서드 파티 관리 | Google 관리 |
| 읽기 / 쓰기 |
오픈소스 엔진 (Iceberg
라이브러리를 사용한 읽기 전용, BigQuery Storage API와의 읽기/쓰기 상호 운용성)
BigQuery (읽기/쓰기) |
오픈소스 엔진 (읽기/쓰기) BigQuery (읽기 전용) |
오픈소스 엔진 (BigQuery Storage API와의 읽기/쓰기 상호 운용성) BigQuery (읽기/쓰기) |
| 고급 작업 | BigQuery Storage Write API, 변경사항 데이터 캡처 (CDC), 다중 문 트랜잭션을 사용한 높은 처리량 스트리밍 | 없음 | BigQuery Storage Write API, 변경사항 데이터 캡처 (CDC), 다중 문 트랜잭션을 사용한 높은 처리량 스트리밍 |
| 사용 사례 | 고급 분석, 스트리밍, AI를 위한 고성능 엔터프라이즈급 스토리지가 포함된 개방형 레이크하우스 | BigQuery 로드를 위한 스테이징 테이블, 레거시 쿼리 전용 테이블 | 고급 분석, 스트리밍, AI를 위한 엔터프라이즈급 스토리지 |
다음 단계
Apache Iceberg 테이블을 관리하는 방법 알아보기.
Dataflow를 사용하여 외부 Iceberg 테이블을 가져오는 방법 알아보기.
BigQuery에서 카탈로그 페더레이션을 사용하는 방법 알아보기