Lakehouse 런타임 카탈로그 및 Iceberg REST 카탈로그 엔드포인트로 관리되는 Apache Iceberg 테이블은 오픈소스 Apache Iceberg 테이블 사양을 준수하는 개방형의 상호 운용 가능한 Iceberg 테이블로, 모든 Iceberg 호환 처리 엔진 또는 BigQuery를 사용하여 읽고 쓸 수 있습니다.
이 문서에서는 이러한 테이블을 'Lakehouse Iceberg 테이블' 또는 'Iceberg 테이블'이라고 합니다.
테이블 옵션을 구성하여 다음 기능을 선택하고 사용 설정할 수 있습니다.
- 읽기/쓰기 상호 운용성 (프리뷰): BigQuery, Managed Service for Apache Spark, 오픈소스 엔진 (Apache Spark, Apache Flink, Trino)과 같은 Iceberg 호환 엔진, 서드 파티 엔진 (예: Snowflake)을 비롯한 여러 엔진에 대한 원활한 읽기 및 쓰기 지원
- 자동 테이블 관리 (프리뷰): 압축 및 가비지 컬렉션과 같은 자동 테이블 관리 (스토리지 최적화)
앞의 기능 외에도 Lakehouse Iceberg 테이블 (프리뷰)은 기본적으로 다음 기능을 지원합니다.
- BigQuery 데이터 정의 언어 (프리뷰): Spark, Flink, Trino와 같은 Iceberg 호환 엔진을 사용하여 테이블을 만들거나 업데이트하는 것 외에도 BigQuery DDL 문 (예:
CREATE TABLE,ALTER TABLE,DROP TABLE)을 사용하여 Iceberg 테이블을 만들거나 업데이트할 수 있습니다. 테이블이 생성되면 이러한 엔진과 BigQuery에서 읽고 쓸 수 있으며 Lakehouse 런타임 카탈로그로 관리되는 동일한 카탈로그 및 네임스페이스 구성의 일부입니다. - BigQuery용 사용자 인증 정보 제공 지원 (프리뷰): BigQuery는 Lakehouse 런타임 카탈로그에서 Iceberg 테이블을 읽거나 쓸 때 인증을 위해 사용자 인증 정보 제공을 지원합니다. 카탈로그 수준에서 사용자 인증 정보 제공을 설정할 수 있습니다.
관리 작업
Apache Iceberg 테이블에서 다음 관리 작업을 수행할 수 있습니다.
- 테이블 만들기: 콘솔, Spark, Trino, gcloud, BigQuery (프리뷰) 또는 Iceberg REST 카탈로그 API (
CreateIcebergTable)를 사용하여 카탈로그 네임스페이스 내에 Apache Iceberg 테이블을 만듭니다. Google Cloud - 테이블 나열: 콘솔, Spark, Trino, gcloud, BigQuery (프리뷰) 또는
Iceberg REST 카탈로그 API (
ListIcebergTableIdentifiers)를 사용하여 네임스페이스 내에서 테이블 식별자를 봅니다. Google Cloud - 테이블 세부정보 가져오기: 콘솔, 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 테이블에서 데이터 행을 업데이트, 삭제 또는 병합합니다.
- 테이블 변경: 콘솔, 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
다음 단계
- Apache Iceberg REST 카탈로그를 참조하세요.
- 테이블 쿼리 방법을 알아보세요.
- 테이블 ACL 관리 방법을 알아보세요.