- 장기 스토리지로 오프로드 - 데이터는 실시간 분석 계층으로 ClickHouse에 유입되어 대시보드와 운영 보고를 지원합니다. 데이터가 실시간 윈도우를 지나 오래되면, 상호운용 가능한 포맷으로 내구성 있게, 그리고 비용 효율적으로 보관할 수 있도록 객체 스토리지의 Iceberg에 기록할 수 있습니다.
- Reverse ETL - ClickHouse 내부에서 수행한 변환, 집계, 보강을 통해 다운스트림 도구와 다른 팀에서 활용해야 하는 파생 데이터셋이 생성됩니다. 이러한 결과를 Iceberg 테이블에 기록하면 더 넓은 데이터 생태계 전반에서 활용할 수 있습니다.
INSERT INTO SELECT를 사용하면 ClickHouse 테이블의 데이터를 객체 스토리지에 저장된 Iceberg 테이블로 이동할 수 있습니다.
오픈 테이블 포맷에 대한 쓰기는 현재 Iceberg 테이블만 지원합니다. Delta Lake 테이블에 대한 부분 지원은 현재 개발 중입니다. 테이블은 catalog에서 관리되면 안 됩니다.
소스 데이터셋 준비
MergeTree 테이블 생성 및 데이터 삽입
Iceberg 테이블에 데이터 쓰기
Iceberg 테이블 생성
IcebergS3 테이블 엔진을 사용해 테이블을 생성하십시오.
스키마는 MergeTree 소스보다 더 단순하게 구성해야 합니다. ClickHouse는 Iceberg와 기반이 되는 Parquet 파일보다 더 풍부한 타입 시스템을 지원하므로 Enum, LowCardinality, UInt8 같은 타입은 Iceberg에서 지원되지 않으며, 호환되는 타입으로 매핑해야 합니다.
데이터 일부 삽입
INSERT INTO SELECT를 사용하여 MergeTree 테이블의 데이터를 Iceberg 테이블에 삽입합니다. 이 예시에서는 London의 트랜잭션만 삽입합니다: