iceberg_delete_data_on_drop
执行 drop 时,是否删除所有 Iceberg 文件。iceberg_file_entries_queue_size
Iceberg data manifest 解码任务与查询之间队列的容量,以数据文件条目数计。 队列已满且查询未消费数据时,解码任务会暂停,因此该设置也限定了预读量。 必须大于零。iceberg_manifest_decode_concurrency
Aliases:iceberg_delete_manifest_decode_concurrency
读取表时并发解码的 Iceberg manifest 文件的最大数量。
所有 delete manifest 都会在读取任何数据文件之前解码完成;data manifest 则在生成查询所需的数据文件列表的过程中解码,且只有当查询消费掉已解码的条目后,才会继续解码新的 manifest。同时解码多个 manifest,可以让对象存储的往返请求与逐条目的裁剪工作重叠进行。
当 Iceberg 元数据文件缓存被禁用或已满时,取值越高峰值内存占用越大,因为此时每个处理中的 manifest 都会各自持有自己解码后的内容。
该值必须大于零;取 1 表示逐个解码 manifest。
iceberg_manifest_min_count_to_compact
通过 OPTIMIZE TABLE … MANIFEST 触发仅针对 manifest 的合并整理所需的最少 manifest 文件数量。 如果当前 manifest 文件数量小于或等于该阈值,则会跳过合并整理。 需要启用 allow_experimental_iceberg_compaction。 该默认值与 Iceberg 表属性commit.manifest.min-count-to-merge 的文档默认值 (100) 保持一致,
参见 https://iceberg.apache.org/docs/1.5.2/configuration/。
iceberg_max_number_datafiles_to_compact
Iceberg 中参与合并整理的数据文件数量阈值。iceberg_orphan_files_older_than_seconds
Iceberg 表中删除孤立文件时使用的默认文件期限阈值 (以秒为单位) 。新于该阈值的文件不会被视为孤立文件。当在remove_orphan_files() 过程调用中省略 older_than 参数时,将使用此设置。默认值为 259200 (3 天) 。
iceberg_snapshot_id
使用指定的快照 ID 查询 Iceberg 表。iceberg_timestamp_ms
使用特定时间戳对应的快照查询 Iceberg 表。iceberg_tolerate_conflicting_manifest_schemas
启用时,如果 Iceberg manifest 文件头的schema 键所携带的 schema 与 metadata.json 中已为同一 schema-id 注册的 schema 不一致,则使用 metadata.json 中的 schema,并记录警告后忽略 manifest 头中的副本。禁用时,此类冲突会使查询以 ICEBERG_SPECIFICATION_VIOLATION 错误失败。
manifest 头中的 schema 只是 manifest 写入时表 schema 的一份副本,而据观察,某些写入器 (例如 AWS S3 Tables 维护作业) 会在其中存储质量降级的副本。其他查询引擎均从 metadata.json 解析 schema 并忽略存在差异的头部副本,因此这里的默认行为与之保持一致。但两个 metadata.json schema 定义之间的冲突始终仍会导致查询失败。