ClickHouse Cloud에서 Iceberg 카탈로그 연결하기
ClickHouse Cloud에서 Iceberg 카탈로그 연결하기
Iceberg 호환 데이터 레이크를 사용하고 있다면, ClickHouse Cloud에서 Iceberg REST 카탈로그에 연결해서 데이터를 복사하지 않고도 Iceberg 테이블에 SQL 쿼리를 실행할 수 있어요. 이 퀵스타트에서 그 전체 과정을 따라 해 볼게요.
본문
사전 요구사항 (Prerequisites)
이 퀵스타트를 시작하기 전에 다음이 준비되어 있어야 해요:
- 실행 중인 ClickHouse Cloud 서비스. 아직 없다면 ClickHouse Cloud 퀵 스타트를 먼저 완료하세요.
- Iceberg 호환 데이터 레이크에 접근할 수 있어야 함
- 데이터 레이크 카탈로그 (URL + 자격 증명)
- 데이터 레이크 카탈로그 유형에 따라: 오브젝트 스토리지 자격 증명 (예: S3 호환 스토리지)
- 카탈로그에 등록된 Iceberg 테이블이 하나 이상 있어야 함
Iceberg 카탈로그에 데이터가 아직 없다면, 이 데이터셋을 업로드해서 사용할 수 있어요. 이 문서에서는 여기 있는 데이터셋으로 데모를 진행할 거예요.
만들게 될 것 (What you'll build)
이 퀵스타트에서는 다음을 하게 돼요:
- ClickHouse Cloud에서 Iceberg REST 카탈로그에 연결하기
- 그 카탈로그가 지원하는 ClickHouse 데이터베이스 만들기
- 기존 Iceberg 테이블을 ClickHouse에서 직접 쿼리하기
- ClickHouse가 데이터 레이크에서 데이터를 읽고 있는지 확인하기
끝나면 ClickHouse Cloud가 Iceberg 카탈로그에 연결되어, 데이터를 복사하지 않고 Iceberg 테이블에 SQL 쿼리를 실행할 수 있게 돼요.
1. DataLakeCatalog 연결 만들기
이 단계에서는 ClickHouse Cloud에서 데이터 레이크 카탈로그에 연결해요.
- ClickHouse Cloud 서비스를 엽니다.
- Data Sources → Connect to your Data Lake Catalog로 이동합니다.
- 드롭다운에서 데이터 카탈로그를 선택합니다.
- 폼에 자격 증명과 연결 정보를 입력합니다. Unity Catalog의 경우 다음을 입력하세요:
- Open Table Format (Iceberg)
- ClickHouse Database name. Iceberg 테이블을 쿼리할 ClickHouse 데이터베이스의 이름이에요.
- Workspace ID
- Databricks catalog name
- Client ID
- Client Secret
- 카탈로그를 저장합니다. 이제 Data Sources 페이지에 데이터베이스에서 사용 가능한 테이블 수와 함께 데이터 카탈로그가 로드된 걸 볼 수 있어요.
2. Iceberg 테이블 쿼리하기
이 단계에서는 데이터 카탈로그의 Iceberg 테이블을 쿼리해요.
Show Tables또는SQL Console을 클릭하면, 데이터 레이크에 연결된 새 데이터베이스가 materialize된 상태로 SQL 콘솔에 들어가게 돼요.SQL Console로 갔다면 데이터베이스 드롭다운을 Iceberg 데이터베이스로 바꾸세요.- 파일 트리에서 Iceberg 테이블이 하나 이상 보일 거예요. 다음 쿼리를 실행해 보세요:
select * from iceberg_database.`iceberg_db.your_table`
- ClickHouse가 Iceberg 테이블의 행들을 반환할 거예요.
다음 단계 (Next steps)
이제 데이터 레이크에 연결했으니, ClickHouse에서 Iceberg 테이블을 쓰는(write) 것도 시험해 볼 수 있어요.
따옴표 사용에 주의하세요. ClickHouse는 3부분 네임스페이스(three part namespace)를 지원하지 않아서, schema.table을 따옴표로 감싸야 해요.