ClickHouse

To query Tableflow tables with ClickHouse, you'll first need to configure credentials for your object store where you've chosen to store your tables and use the Iceberg table engine.

AWS S3

For testing purposes, you can define credentials inline in the CREATE TABLE statement. For production, we recommend using the configuration file to define a "named collection" for your credentials.

<clickhouse>
    <named_collections>
        <iceberg_conf>
            <url>http://test.s3.amazonaws.com/clickhouse-bucket/</url>
            <access_key_id>test</access_key_id>
            <secret_access_key>test</secret_access_key>
        </iceberg_conf>
    </named_collections>
</clickhouse>

Then you can run your CREATE TABLE statement against the named collection instead of inline credentials:

CREATE TABLE iceberg_table ENGINE=IcebergS3(iceberg_conf, filename = '_tableflow/tablename+tableUUID')

GCS

For connecting to GCS, you'll need to create GCS HMAC credentials and use them in place of the access_key_id and secret_access_key for GCS.

Partition Pruning

To take advantage of partition pruning in ClickHouse, you must set a session variable.

SET use_iceberg_partition_pruning = 1;

Last updated

Was this helpful?