ClickHouseでオープンテーブルフォーマットを使う理由
既存データをそのままクエリする
ClickHouse によるリアルタイム分析ワークロード
ケーパビリティ
データを直接読み取る
iceberg()、deltaLake()、hudi()、paimon() などの関数を使うと、事前設定なしで、SQL ステートメント内からオープンテーブルフォーマットのテーブルをクエリできます。これらの関数には、S3、Azure Blob Storage、GCS など、一般的なオブジェクトストレージの多くに対応したバージョンがあります。また、これらの関数に対応するテーブルエンジンも用意されており、基盤となるオープンテーブルフォーマットのオブジェクトストレージを参照するテーブルを ClickHouse 内に作成できるため、より手軽にクエリできます。
直接クエリする方法や、データカタログに接続する方法については、Getting Started ガイドを参照してください。
カタログをデータベースとして公開する
DataLakeCatalog データベースエンジンを使用すると、ユーザーは ClickHouse を外部カタログに接続し、そのカタログをデータベースとして公開できます。カタログに登録されたテーブルは ClickHouse 内のテーブルとして表示されるため、ClickHouse SQL の構文や分析関数をそのまま透過的に利用できます。つまり、ユーザーはカタログで管理されているテーブルを、ネイティブな ClickHouse テーブルであるかのようにクエリ、結合、集計でき、ClickHouse のクエリ最適化、並列実行、読み取り性能の恩恵を受けられます。
サポートされるカタログは次のとおりです:
| カタログ | ガイド |
|---|---|
| AWS Glue | Glue カタログ ガイド |
| BigLake Metastore | BigLake Metastore ガイド |
| Databricks Unity Catalog | Unity Catalog ガイド |
| Iceberg REST Catalog | REST Catalog ガイド |
| Lakekeeper | Lakekeeper カタログ ガイド |
| Project Nessie | Nessie Catalog ガイド |
| Microsoft OneLake | OneLake Catalog ガイド |
オープンテーブルフォーマットへの書き戻し
- リアルタイムから長期ストレージへ - データがリアルタイム分析レイヤーとして ClickHouse を通過し、ユーザーが結果を Iceberg やその他のフォーマットにオフロードして、耐久性が高くコスト効率に優れた長期ストレージに保存する必要がある場合。
- Reverse ETL - ユーザーが materialized view やスケジュールクエリを使って ClickHouse 内で変換を実行し、その結果をオープンテーブルフォーマットに永続化して、データエコシステム内の他のツールで利用できるようにしたい場合。