distributed_plan_default_reader_bucket_count
用于分布式查询并行读取的默认任务数。任务会分配到各个副本之间。 由基于规则的分布式查询计划器使用。基于成本的优化器会根据估算成本选择读取扇出,不使用此设置。distributed_plan_default_shuffle_join_bucket_count
分布式 shuffle-hash join 的默认桶数。 由基于规则的分布式查询计划器使用。基于成本的优化器会根据估算成本选择扇出,不使用此设置。distributed_plan_execute_locally
在本地运行分布式查询计划的所有任务。适用于测试和调试。distributed_plan_fallback_to_local_execution
当查询计划中包含不支持分布式执行的步骤时,记录原因并在 initiator 上执行该查询,而不是抛出异常。禁用后则会抛出异常。 仅在启用make_distributed_plan (私有预览) 时生效。
distributed_plan_force_exchange_kind
强制在分布式查询各阶段之间使用指定类型的 Exchange 算子。 可能的值:- ” - 不强制使用任何类型的 Exchange 算子,由优化器自行选择,
- ‘Persisted’ - 使用对象存储中的临时 File,
- ‘Streaming’ - 通过网络流式传输 Exchange 数据。
distributed_plan_force_shuffle_aggregation
在分布式查询计划中,采用 Shuffle 聚合策略,而不是 PartialAggregation + Merge。 在 Shuffle 策略无法产生正确结果的场景下会被忽略,例如GROUPING SETS,或者聚合必须按桶顺序产生结果时。
distributed_plan_max_rows_to_broadcast
在分布式查询计划中,使用 broadcast join 而非 shuffle join 的最大行数。 这是基于规则的分布式查询计划器使用的启发式规则。启用基于成本的优化器后,broadcast 与 shuffle 的选择由估算成本决定,此设置不起作用。distributed_plan_optimize_exchanges
移除分布式查询计划中不必要的 exchange。调试时请禁用此设置。distributed_plan_prefer_replicas_over_workers
将分布式查询计划序列化后在副本上执行。distributed_plan_read_in_order
允许在分布式查询计划中为ORDER BY 启用 read-in-order 优化,使按表 sorting key 进行的有序读取可以跳过排序并提前结束,而无需先扫描再排序。
默认关闭:将排序分布式化的 rewrite 假定其所包裹的排序不依赖输入本身已经有序,而这类依赖有序输入的排序有可能通过不保序的 exchange 获取行。目前仅当读取与排序之间不残留 exchange 的形态下才是安全的。