数据岗位面试题更新 2026-08-05

请说明 Presto 中任务调度的运作机制,并介绍如何设置或调整其调度策略。

数据系统设计技术原理Presto

考察说明

考查对 Presto 任务调度核心流程和配置调整的理解。

回答思路

  1. 【回答框架 1】Presto 采用主从架构,协调节点负责接收查询、解析、规划并生成执行计划,然后由调度器将任务分发到工作节点执行。
  2. 【回答框架 2】调度器根据数据本地性优先将任务分配到数据所在节点,以减少网络传输,并考虑节点负载均衡。
  3. 【回答框架 3】常见配置参数包括 task.max-memory、task.max-worker-threads 等,可在 config.properties 中调整以影响调度行为。
  4. 【回答框架 4】坐标多个查询的并发调度由查询管理器和资源组共同控制,可通过 resource group 配置并发限制和优先级。
  5. 【关键点 1】Presto 的调度主要发生在协调节点,按分片分配任务。
  6. 【关键点 2】数据本地性优先减少网络IO。
  7. 【关键点 3】资源组配置影响并发和优先级。
  8. 【关键点 4】主要配置在 config.properties 中。
  9. 【易错点 1】易混淆调度器与资源组管理,前者是物理分发,后者是逻辑限制。
  10. 【易错点 2】只调整并行度而不考虑内存限制可能导致OOM。
  11. 【易错点 3】遗漏本地性与动态过滤的配合使用。