Create a DeltaLake table
By default the Delta Lake table must already exist in S3, GCP or Azure storage, and the commands below attach to it without DDL column definitions. Withallow_delta_lake_create_table = 1, a CREATE TABLE with explicit columns against a location that has no _delta_log instead creates a new Delta Lake table by writing the initial commit through delta-kernel-rs (creating a partitioned table is not supported yet), and inside a Unity DataLakeCatalog database the table is also registered in the catalog.
- S3
- GCP
- Azure
SyntaxEngine parametersUsing named collections:
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.
Write data using a DeltaLake table
Once you have created a table using the DeltaLake table engine, you can insert data into it with:SET allow_delta_lake_writes = 1; (available from version 26.7; on earlier versions use SET allow_experimental_delta_lake_writes = 1;).
Writing using the table engine is supported only through delta kernel.
Writes work for S3 and GCS, and for Azure from version 26.9.
Azure workload identity authentication (
extra_credentials(client_id = ..., tenant_id = ...)) is not supported by delta kernel.Data cache
TheDeltaLake table engine and table function support data caching, the same as S3, AzureBlobStorage, HDFS storages. See “S3 table engine” for more details.