s3_base
s3Cluster、gcs、oss) 。
设置后,不含 scheme 的 URL 会根据 RFC 3986 以 s3_base 为基准进行解析,规则与 url_base 相同。已包含 scheme 的 URL 将按原样使用。
例如,若 s3_base 为 s3://clickhouse-public-datasets/,则 s3('hits_compatible/hits.csv') 会读取 s3://clickhouse-public-datasets/hits_compatible/hits.csv。
基准 URL 可以采用 s3 表函数接受的任何形式,例如 s3://bucket/、https://bucket.s3.amazonaws.com/ 或 https://endpoint/bucket/。
s3_check_objects_after_upload
s3_connect_timeout_ms
s3_create_new_file_on_insert
data.Parquet.gz -> data.1.Parquet.gz -> data.2.Parquet.gz,依此类推。
可能的值:
- 0 —
INSERT查询会创建一个新文件;如果文件已存在且未设置 s3_truncate_on_insert,则会失败。 - 1 — 如果未设置 s3_truncate_on_insert,
INSERT查询会在每次插入时使用后缀 (从第二个文件开始) 创建一个新文件。
s3_disable_checksum
s3_ignore_file_doesnt_exist
- 1 —
SELECT返回空结果。 - 0 —
SELECT抛出异常。
s3_list_object_keys_size
s3_min_upload_part_size
s3_path_filter_limit
_path 值的最大数量,而不是通过 glob 列举文件。
0 表示禁用。
s3_request_timeout_ms
s3_skip_empty_files
- 0 — 如果空文件与请求的格式不兼容,
SELECT会抛出异常。 - 1 — 对于空文件,
SELECT返回空结果。
s3_slow_all_threads_after_network_error
true 时,如果某个 s3 请求遇到可重试的网络错误 (例如套接字超时) ,则所有向同一 Backup 端点发起 S3 请求的线程都会被放慢。
当设置为 false 时,每个线程都会独立处理 S3 请求的退避,不受其他线程影响。
s3_strict_upload_part_size
s3_throw_on_zero_files_match
s3_truncate_on_insert
- 0 —
INSERT查询会创建新文件;如果文件已存在且未设置 s3_create_new_file_on_insert,则会失败。 - 1 —
INSERT查询会用新数据替换文件中的现有内容。
s3_uri_style
s3_use_adaptive_timeouts
true 时,所有 S3 请求 的前两次尝试都会使用较短的发送和接收超时时间。
当设置为 false 时,所有尝试都会使用相同的超时时间。