Apache Iceberg 테이블 개요

Lakehouse 런타임 카탈로그(Lakehouse runtime catalog) 및 Iceberg REST catalog 엔드포인트로 관리되는 Apache Iceberg 테이블은 오픈소스 Apache Iceberg Table 사양을 준수하는 개방형의 상호 운용 가능한 Iceberg 테이블로, Iceberg 호환 처리 엔진 또는 BigQuery를 사용하여 읽고 쓸 수 있습니다.

이 문서에서는 이러한 테이블을 '관리형 Apache Iceberg 테이블' 또는 'Iceberg 테이블'이라고 합니다.

표 옵션

표 옵션을 구성하여 다음 기능을 선택하고 사용 설정할 수 있습니다.

  1. 읽기/쓰기 상호 운용성 (미리보기): BigQuery, Managed service for Apache Spark, 오픈소스 엔진 (Apache Spark, Apache Flink, Trino)과 같은 Iceberg 호환 엔진, 서드 파티 엔진 (예: Snowflake)을 비롯한 여러 엔진에 대한 원활한 읽기 및 쓰기 지원
  2. 자동 테이블 관리 (미리보기): 압축 및 가비지 컬렉션과 같은 자동 테이블 관리 (스토리지 최적화)

앞의 기능 외에도 Lakehouse (미리보기)에서 관리하는 Apache Iceberg 테이블은 다음 기능을 기본적으로 지원합니다.

  1. BigQuery 데이터 정의 언어 (미리보기): Spark, Flink, Trino와 같은 Iceberg 호환 엔진을 사용하여 테이블을 만들거나 업데이트하는 것 외에도 BigQuery DDL 문 (예: CREATE TABLE, ALTER TABLE, DROP TABLE)을 사용하여 Iceberg 테이블을 만들거나 업데이트할 수 있습니다. 테이블이 생성되면 이러한 엔진과 BigQuery에서 읽고 쓸 수 있으며 Lakehouse 런타임 카탈로그에서 관리하는 동일한 카탈로그 및 네임스페이스 구성의 일부가 됩니다.
  2. BigQuery의 사용자 인증 정보 제공 지원(미리보기): BigQuery는 Lakehouse 런타임 카탈로그에서 Iceberg 테이블을 읽거나 쓸 때 인증을 위해 사용자 인증 정보 제공을(를) 지원합니다. 카탈로그 수준에서 사용자 인증 정보 제공을 설정할 수 있습니다.

관리 작업

Apache Iceberg 테이블에서 다음 관리 작업을 수행할 수 있습니다.

  • 테이블 만들기: 콘솔, Spark, Trino, gcloud, BigQuery (미리보기) 또는 Iceberg REST 카탈로그 API (CreateIcebergTable)를 사용하여 카탈로그 네임스페이스 내에 Apache Iceberg 테이블을 만듭니다. Google Cloud
  • 테이블 등록: gcloud 또는 Iceberg REST 카탈로그 API (RegisterIcebergTable)를 사용하여 카탈로그 네임스페이스 내에 기존 Apache Iceberg 테이블을 등록합니다.
  • 테이블 나열: 콘솔, Spark, Trino, gcloud, BigQuery (미리보기) 또는 Iceberg REST 카탈로그 API (ListIcebergTableIdentifiers)를 사용하여 네임스페이스 내에서 테이블 식별자를 봅니다. Google Cloud
  • 테이블 세부정보 가져오기: 콘솔, Spark, Trino, gcloud, BigQuery (미리보기) 또는 Iceberg REST 카탈로그 API (GetIcebergTable, LoadIcebergTableCredentials)를 사용하여 테이블 스키마, 속성, 사용자 인증 정보를 검사합니다. Google Cloud
  • 데이터 삽입: Spark, Trino 또는 BigQuery (미리보기)를 사용하여 Iceberg 테이블에 데이터 행을 추가합니다.
  • 테이블 쿼리: 4부 테이블 이름을 사용하여 Spark, Trino 또는 BigQuery (미리보기)에서 Iceberg 테이블에 대해 쿼리를 실행합니다.
  • DML로 데이터 수정: BigQuery (미리보기), Spark 또는 Trino의 DML 문을 사용하여 Iceberg 테이블에서 데이터 행을 업데이트, 삭제 또는 병합합니다.
  • 테이블 변경: 콘솔, Spark, Trino, gcloud, BigQuery (미리보기) 또는 Iceberg REST 카탈로그 API (UpdateIcebergTable)를 사용하여 테이블 스키마를 발전시키고 메타데이터 속성을 업데이트합니다. Google Cloud
  • 테이블 옵션 구성: BigQuery (미리보기) DML 및 자동 테이블 관리를 사용 설정하도록 속성을 구성합니다.
  • 테이블 ACL 관리: Iceberg 테이블에서 IAM 정책을 보고 업데이트하여 특정 보안 주체 (get-iam-policy, set-iam-policy)의 액세스를 제어합니다.
  • Iceberg V1 테이블을 V2로 업그레이드: 기존 Iceberg V1 테이블을 지원되는 V2 형식으로 업그레이드합니다.
  • Iceberg V3 테이블에서 바이너리 삭제 벡터 사용: Iceberg V3 테이블에서 최적화된 삭제 성능을 위해 바이너리 삭제 벡터를 사용 설정합니다.
  • 테이블 삭제: 콘솔, Spark, Trino, gcloud, BigQuery (미리보기) 또는 Iceberg REST 카탈로그 API (DeleteIcebergTable)를 사용하여 기본 스토리지 파일을 삭제하지 않고 카탈로그에서 테이블 등록을 삭제합니다. Google Cloud

다음 단계