DeltaLake table engine
This engine provides an integration with existing Delta Lake tables in S3, GCP and Azure storage and supports both reads and writes (from v25.10).
Create a DeltaLake table
To create a DeltaLake table it must already exist in S3, GCP or Azure storage. The commands below do not take DDL parameters to create a new table.
- S3
- GCP
- Azure
Syntax
Engine parameters
url— Bucket url with path to the existing Delta Lake table.aws_access_key_id,aws_secret_access_key- Long-term credentials for the AWS account user. You can use these to authenticate your requests. Parameter is optional. If credentials are not specified, they are used from the configuration file.extra_credentials- Optional. Used to pass arole_arnfor role-based access in ClickHouse Cloud. See Secure S3 for configuration steps.
Engine parameters can be specified using Named Collections.
Example
Using named collections:
Syntax
gsutil URI such as gs://clickhouse-docs-example-bucket is not supported, please use a URL starting https://storage.googleapis.com
Arguments
url— GCS bucket URL to the Delta Lake table. Must usehttps://storage.googleapis.com/<bucket>/<path>/format (the GCS XML API endpoint), orgs://<bucket>/<path>/which is auto-converted.access_key_id— GCS Access Key. Create via Google Cloud Console → Cloud Storage → Settings → Interoperability.secret_access_key— GCS secret.
Named collections
You can also use named collections. For example:
Syntax
Arguments
connection_string— Azure connection stringstorage_account_url— Azure storage account URL (e.g., https://account.blob.core.windows.net)container_name— Azure container nameblobpath— Path to the Delta Lake table within the containeraccount_name— Azure storage account nameaccount_key— Azure storage account key
Write data using a DeltaLake table
Once you have created a table using the DeltaLake table engine, you can insert data into it with:
Writing using the table engine is supported only through delta kernel. Writes to Azure are not yet supported but work for S3 and GCS.
Delta Lake writes are a Beta feature and must be enabled with SET allow_delta_lake_writes = 1 (available from version 26.7; on earlier versions use SET allow_experimental_delta_lake_writes = 1).
Data cache
The DeltaLake table engine and table function support data caching, the same as S3, AzureBlobStorage, HDFS storages. See "S3 table engine" for more details.