Delta Lake 表引擎
此引擎与 S3、GCP 和 Azure 存储中现有的 Delta Lake 表进行集成,并支持读写(自 v25.10 起)。
创建 DeltaLake 表
要创建 DeltaLake 表,目标表必须已预先存在于 S3、GCP 或 Azure 存储中。下面的命令不支持通过 DDL 参数创建新表。
- S3
- GCP
- Azure
语法
引擎参数
url— 指向已有 Delta Lake 表的存储桶 URL(包含路径)。aws_access_key_id,aws_secret_access_key- AWS 账户用户的长期凭证。可使用这些参数对请求进行身份验证。该参数为可选项。如果未指定凭证,将使用配置文件中的凭证。
可以使用命名集合来指定引擎参数。
示例
使用命名集合:
语法
不支持的 gsutil URI
不支持 gs://clickhouse-docs-example-bucket 这类 gsutil URI,请使用以 https://storage.googleapis.com 开头的 URL。
参数
url— 指向 Delta Lake 表的 GCS bucket URL。必须使用https://storage.googleapis.com/<bucket>/<path>/格式(GCS XML API 端点),或者使用会被自动转换的gs://<bucket>/<path>/。access_key_id— GCS Access Key。可通过 Google Cloud Console → Cloud Storage → Settings → Interoperability 创建。secret_access_key— GCS 密钥。
命名集合
也可以使用命名集合。 例如:
语法
参数
connection_string— Azure 连接字符串storage_account_url— Azure 存储账户 URL(例如:https://account.blob.core.windows.net)container_name— Azure 容器名称blobpath— 容器内 Delta Lake 表的路径account_name— Azure 存储账户名称account_key— Azure 存储账户密钥
使用 DeltaLake 表写入数据
使用 DeltaLake 表引擎创建表之后,就可以使用以下语句插入数据:
注意
通过表引擎进行写入仅支持通过 delta kernel。 目前尚不支持写入 Azure,但已支持写入 S3 和 GCS。
数据缓存
DeltaLake 表引擎和表函数支持与 S3、AzureBlobStorage、HDFS 存储相同的数据缓存机制。有关更多详细信息,请参阅“S3 表引擎”。