Lakehouse 런타임 카탈로그에서 관리하고 Apache Iceberg REST 카탈로그 엔드포인트를 통해 제공되는 Apache Iceberg 테이블을 사용하면 오픈소스 Apache Iceberg 테이블 사양을 준수하는 개방형 및 상호 운용 가능한 데이터로 작업할 수 있습니다. BigQuery 또는 Iceberg 호환 처리 엔진을 사용하여 이러한 테이블을 읽고 쓸 수 있습니다.
이 문서에서는 이러한 테이블을 관리형 Apache Iceberg 테이블 또는 Iceberg 테이블이라고 합니다. 테이블 유형을 비교하려면 테이블 유형 비교를 참조하세요.
표 옵션
테이블 옵션을 구성하여 다음 기능을 선택하고 사용 설정할 수 있습니다.
- 읽기/쓰기 상호 운용성(프리뷰): BigQuery, Managed Service for Apache Spark, Iceberg 호환 엔진(예: 오픈소스 엔진(Apache Spark, Apache Flink, Trino)), 서드 파티 엔진(예: Snowflake)을 포함한 여러 엔진에 대한 원활한 읽기 및 쓰기 지원
- 자동 테이블 관리 (프리뷰): 압축 및 가비지 컬렉션과 같은 자동 테이블 관리 (스토리지 최적화)입니다.
앞의 기능 외에도 Lakehouse에서 관리하는 Apache Iceberg 테이블에는 다음 기능도 기본적으로 지원됩니다.
- BigQuery 데이터 정의 언어 (프리뷰): Spark, Flink, Trino와 같은 Iceberg 호환 엔진을 사용하여 테이블을 만들거나 업데이트하는 것 외에도 BigQuery DDL 문 (예:
CREATE TABLE,ALTER TABLE,DROP TABLE)을 사용하여 Iceberg 테이블을 만들거나 업데이트할 수 있습니다. 테이블이 생성되면 해당 엔진과 BigQuery에서 읽기 및 쓰기가 가능하며, Lakehouse 런타임 카탈로그에서 관리하는 동일한 카탈로그 및 네임스페이스 구성의 일부가 됩니다. - BigQuery의 사용자 인증 정보 자동 판매 지원: BigQuery는 Lakehouse 런타임 카탈로그에서 Iceberg 테이블을 읽거나 쓸 때 인증을 위해 사용자 인증 정보 자동 판매를 사용하도록 지원합니다. 카탈로그 수준에서 사용자 인증 정보 판매를 설정할 수 있습니다.
관리 작업
Apache Iceberg 테이블에서 다음 관리 작업을 수행할 수 있습니다.
- 테이블 만들기: Google Cloud 콘솔, Spark, Trino, gcloud, BigQuery (프리뷰) 또는 Iceberg REST Catalog API (
CreateIcebergTable)를 사용하여 카탈로그 네임스페이스 내에 Apache Iceberg 테이블을 만듭니다. - 테이블 등록: gcloud 또는 Iceberg REST Catalog API (
RegisterIcebergTable)를 사용하여 카탈로그 네임스페이스 내에 기존 Apache Iceberg 테이블을 등록합니다. - 테이블 나열: Google Cloud 콘솔, Spark, Trino, gcloud, BigQuery (프리뷰) 또는 Iceberg REST Catalog API (
ListIcebergTableIdentifiers)를 사용하여 네임스페이스 내의 테이블 식별자를 확인합니다. - 테이블 세부정보 가져오기: Google Cloud 콘솔, Spark, Trino, gcloud, BigQuery (프리뷰) 또는 Iceberg REST 카탈로그 API (
GetIcebergTable,LoadIcebergTableCredentials)를 사용하여 테이블 스키마, 속성, 사용자 인증 정보를 검사합니다. - 데이터 삽입: Spark, Trino 또는 BigQuery (프리뷰)를 사용하여 Iceberg 테이블에 데이터 행을 추가합니다.
- 테이블 쿼리: 4부분으로 구성된 테이블 이름을 사용하여 Spark, Trino 또는 BigQuery에서 Iceberg 테이블에 대해 쿼리를 실행합니다.
- DML을 사용하여 데이터 수정: BigQuery (프리뷰), Spark 또는 Trino의 DML 문을 사용하여 Iceberg 테이블의 데이터 행을 업데이트, 삭제 또는 병합합니다.
- 테이블 변경: Google Cloud 콘솔, Spark, Trino, gcloud, BigQuery (프리뷰) 또는 Iceberg REST 카탈로그 API (
UpdateIcebergTable)를 사용하여 테이블 스키마를 발전시키고 메타데이터 속성을 업데이트합니다. - 테이블 옵션 구성: BigQuery (프리뷰) DML 및 자동 테이블 관리를 사용 설정하도록 속성을 구성합니다.
- 테이블 ACL 관리: Iceberg 테이블에서 IAM 정책을 보고 업데이트하여 특정 주 구성원의 액세스를 제어합니다 (
get-iam-policy,set-iam-policy). - Iceberg V1 테이블을 V2로 업그레이드: 기존 Iceberg V1 테이블을 지원되는 V2 형식으로 업그레이드합니다.
- Iceberg V3 테이블에서 바이너리 삭제 벡터 사용: Iceberg V3 테이블에서 최적화된 삭제 성능을 위해 바이너리 삭제 벡터를 사용 설정합니다.
- 테이블 삭제: Google Cloud 콘솔, Spark, Trino, gcloud, BigQuery (프리뷰) 또는 Iceberg REST 카탈로그 API (
DeleteIcebergTable)를 사용하여 기본 스토리지 파일을 삭제하지 않고 카탈로그에서 테이블 등록을 삭제합니다.
다음 단계
- Apache Iceberg REST 카탈로그 엔드포인트 설정을 참조하세요.
- 테이블을 쿼리하는 방법 알아보기
- 테이블 ACL 관리 방법 알아보기