Server、local、または chDBこのガイドの手順は、既存の ClickHouse server インストールを使って実行できます。アドホックなクエリでは、代わりに clickhouse-local を使用して、server を起動せずに同じワークフローを完了することもできます。少し調整すれば、ClickHouse のインプロセス版である chDB を使って同じ手順を実行することも可能です。
- Apache Iceberg
- Delta Lake
- Apache Hudi
- Apache Paimon
iceberg テーブル関数 (icebergS3 のエイリアス) は、オブジェクトストレージから直接 Iceberg テーブルを読み取ります。ストレージバックエンドごとに対応するバリアントが用意されています: icebergS3、icebergAzure、icebergHDFS、icebergLocal。構文の例:GCS のサポートこれらの関数の S3 版は、Google Cloud Storage (GCS) でも使用できます。
クラスターバリアント
icebergS3Cluster 関数は、ClickHouse クラスター内の複数のノードに読み取りを分散します。イニシエーターノードはすべてのノードへの接続を確立し、データファイルを動的にディスパッチします。各ワーカーノードは、すべてのファイルが読み取られるまでタスクを要求して処理します。icebergCluster は icebergS3Cluster のエイリアスです。Azure (icebergAzureCluster) および HDFS (icebergHDFSCluster) 向けのバリアントも用意されています。構文の例:テーブルエンジン
クエリのたびにテーブル関数を使用する代わりに、Iceberg テーブルエンジンを使用して永続テーブルを作成することもできます。データは引き続きオブジェクトストレージに保存され、必要に応じて読み込まれます。ClickHouse にデータがコピーされることはありません。この方法の利点は、テーブル定義が ClickHouse に保存されるため、各ユーザーがストレージのパスや認証情報を個別に指定しなくても、ユーザーやセッションをまたいで共有できる点です。ストレージバックエンドごとにエンジンのバリアントが用意されており、IcebergS3 (または Iceberg エイリアス) 、IcebergAzure、IcebergHDFS、IcebergLocal があります。テーブルエンジンとテーブル関数はいずれも、S3、AzureBlobStorage、HDFSストレージエンジンと同じキャッシュ機構を使用したデータキャッシュをサポートしています。また、メタデータキャッシュはマニフェストファイルの情報をメモリに格納し、Icebergメタデータへの繰り返しアクセスを削減します。このキャッシュは、use_iceberg_metadata_files_cache 設定によってデフォルトで有効化されています。構文の例:テーブルエンジン Iceberg は IcebergS3 のエイリアスです。GCS のサポートGoogle Cloud Storage (GCS) では、テーブルエンジンの S3 バリアントを使用できます。
iceberg テーブル関数およびIceberg テーブルエンジンのドキュメントを参照してください。