Presto核心概念全解:Coordinator、Worker、Stage、Split、Driver一次讲透
Presto核心概念全解Coordinator、Worker、Stage、Split、Driver一次讲透【免费下载链接】prestoThe official home of the Presto distributed SQL query engine for big data项目地址: https://gitcode.com/gh_mirrors/pre/prestoPrestoPrestoDB是业界主流的分布式 SQL 查询引擎可以对从 GB 到 PB 级别的数据源执行快速分析查询。要真正用好它关键在于理解五个核心概念Coordinator、Worker、Stage、Split、Driver。本文用最短的篇幅把 Presto 分布式查询的执行模型一次讲透并告诉你如何在界面上亲眼看到它们。1️⃣ 集群里的大脑与四肢Coordinator 与 WorkerPresto 采用典型的分布式架构整个集群由两类核心节点组成角色职责通俗类比Coordinator协调器解析 SQL、生成查询计划、管理 Worker 节点、调度任务项目经理只指挥不动手Worker工作节点执行任务、从数据源拉取数据、与其他 Worker 交换中间结果施工队真正干活的几个新手必须知道的细节Coordinator 是客户端连接的第一入口。所有 SQL 语句都提交给它最终结果也由它从 Worker 汇总后返回给客户端。Worker 启动后会主动向 Coordinator 内的 Discovery服务发现服务器注册自己之后才能被分配任务。开发或测试时一台机器可以同时扮演两个角色配置中coordinatortrue并加上node-scheduler.include-coordinatortrue生产集群则建议让 Coordinator 专职协调性能最佳。除了这两类节点还有一种Resource Manager节点用于在协调器解耦disaggregated的部署形态中聚合全局集群视图普通用户了解即可。Coordinator 与 Worker 之间通过 REST API 通信配置方式详见 deployment.rst。2️⃣ 一条 SQL 如何被拆解执行Stage、Split 与 Driver当你在 Presto 中提交一条 SQLStatement后Coordinator 会把它转化为一个Query查询并生成一棵Stage 树来执行。这是理解 Presto 最关键的一层结构Stage查询计划的树状分层Stage 是把分布式查询计划分成若干层级的执行单元。每个查询都有一个root stage根阶段它负责聚合下层多个 Stage 的输出——比如对 10 亿行 Hive 数据做聚合时底层 Stage 负责扫描和局部聚合root stage 负责最终合并。⚠️ 易错点Stage 只是 Coordinator 用来建模执行计划的逻辑概念Stage 本身并不运行在 Worker 上。TaskStage 落地到 Worker 上的分身每个 Stage 会被拆成一组Task分布式地调度到集群中不同 Worker 上执行。Task 是 Presto 架构中的work horse工作马一个 Stage 由多个 Task 并行实现而一个 Task 又由多个 Driver 并行实现。SplitTask 处理的数据切片Split 是大数据集的一个片段是数据调度的基本单位最底层 Stage 的 Task 通过 Connector 从数据源读取 Split例如 Hive 表的一个文件分片上层中间 Stage 的 Task 则从下层 Stage 拉取数据Coordinator 会持续跟踪哪台机器在跑哪个 Task、哪个 Task 在处理哪个 Split。Driver 与 Operator最细粒度的并行单元Driver 是 Task 内部一组并行运行的算子序列每个 Driver 有一个输入和一个输出是 Presto 中最细粒度的并行执行单元。Driver 里的每个算子叫Operator如 TableScan、Filter、Aggregate它们负责消费、转换和生产数据。一句话总结这条链路Query → Stage树→ Task分布在 Worker 上→ Driver并行算子链→ 处理 Split数据切片3️⃣ 阶段之间怎么传数据Exchange 与 Shuffle上层 Stage 的数据来自下层 Stage靠的是ExchangeTask 把数据写入输出缓冲区output buffer下游 Stage 的 Task 通过 exchange client 拉取。下图展示了数据 Shuffle 的过程每个上游 Worker 会为下游的每个 Worker 各准备一个输出缓冲区下游 Worker #0 用 buffer 0 从所有上游 Worker 拉数据#1 用 buffer 1以此类推此外Presto 还支持Exchange 物化Exchange Materialization把中间 Shuffle 数据先落盘临时 Hive 分桶表带来类似 MapReduce 的执行方式专门服务于内存消耗极大的查询这两篇文档值得深入阅读worker-protocol.rst 和 exchange-materialization.rst。4️⃣ 亲眼看到 Stage、Task 与 SplitQuery Viewer概念讲完最直观的方式就是打开Presto Console默认http://localhost:8080在Query Viewer中可以查看一条查询的完整执行细节Stage 树结构、每个 Stage 的 Task 数量、Splits 处理进度、各阶段耗时等——这正是前面所有概念在现实中的样子。使用方法见 presto-console.rst。5️⃣ 核心概念速查表概念一句话定义层级Coordinator解析 SQL、生成计划、调度任务的大脑集群层Worker执行任务、处理数据的工作节点集群层Stage查询计划的一个层级构成树状结构计划层TaskStage 在单个 Worker 上的执行实例计划层Split数据集的一个片段数据调度的基本单位数据层DriverTask 内并行的算子链最细粒度并行单元执行层Operator消费、转换、生产数据的单个算子执行层Exchange跨节点、跨 Stage 传输数据output buffer通信层写在最后掌握这五个概念你就能看懂 Presto 的查询计划、读懂 UI 里的执行详情也为后续学习 ARCHITECTURE.md 中的架构愿景和 concepts.rst 官方完整概念文档打下基础。建议结合一条真实 SQL 在 Query Viewer 中对照本文逐层验证理解会更深。【免费下载链接】prestoThe official home of the Presto distributed SQL query engine for big data项目地址: https://gitcode.com/gh_mirrors/pre/presto创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

51单片机双机串口通信实战:波特率配置、握手协议与PWM波形重建

51单片机双机串口通信实战:波特率配置、握手协议与PWM波形重建

简介:本资源是一套完整的51单片机双机通信系统设计与实现方案,面向嵌入式初学者及课程设计实践者,解决串口通信、定时器中断、PWM波形生成与LCD显示等典型单片机综合应用问题。压缩包共29个文件,包含两套独立Keil工程(…

2026/9/21 1:36:52 阅读更多 →
CMMB标准LDPC译码器FPGA实现:准循环矩阵驱动的硬件优化架构

CMMB标准LDPC译码器FPGA实现:准循环矩阵驱动的硬件优化架构

简介:本资源是一套面向FPGA开发与通信算法研究者的LDPC译码器完整实现方案,聚焦CMMB标准下的高性能低复杂度译码需求,适用于数字通信、信道编码课程设计及FPGA工程实践。内容涵盖MATLAB 2013b仿真模型、ISE 12.1与Quartus II 10.0双平台Veril…

2026/9/21 1:36:52 阅读更多 →
TaoToken + Cline:401 invalid_api_key 这样核对模型 ID?

TaoToken + Cline:401 invalid_api_key 这样核对模型 ID?

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/21 1:36:52 阅读更多 →

最新新闻

基于STM32的DDS信号发生器设计:从原理到波形输出

基于STM32的DDS信号发生器设计:从原理到波形输出

简介:一份基于STM32的信号发生器系统设计与实现文档,定位为电子工程/嵌入式方向课程设计或毕业设计参考,面向需要掌握嵌入式信号发生器开发流程的本科生、研究生及工程技术人员。文档完整覆盖从需求分析、方案对比到软硬件实现全过程&#xf…

2026/9/21 2:17:12 阅读更多 →
img2threejs 规范化规格词汇表:面向本地规格检索的 JSONL 记录契约、实现与实战指南

img2threejs 规范化规格词汇表:面向本地规格检索的 JSONL 记录契约、实现与实战指南

人工智能AI 技能3D渲染 【免费下载链接】img2threejs Rebuild the object in a reference image as a code-only, procedural, quality-gated, animation-ready Three.js model. Token-efficient image-to-3D. 项目地址: https://gitcode.com/gh_mirrors/im/img2thr…

2026/9/21 2:17:12 阅读更多 →
google-research graph_embedding/metrics:无监督嵌入质量评估指标库实战指南

google-research graph_embedding/metrics:无监督嵌入质量评估指标库实战指南

google-research graph_embedding/metrics:无监督嵌入质量评估指标库实战指南 【免费下载链接】google-research Google Research 项目地址: https://gitcode.com/gh_mirrors/go/google-research 本指南围绕 google-research 仓库中的 graph_embedding/metri…

2026/9/21 2:17:12 阅读更多 →
Egg 项目 TypeScript 基础配置包 @eggjs/tsconfig 完全指南:从安装、配置项解析到版本演进

Egg 项目 TypeScript 基础配置包 @eggjs/tsconfig 完全指南:从安装、配置项解析到版本演进

Egg 项目 TypeScript 基础配置包 eggjs/tsconfig 完全指南:从安装、配置项解析到版本演进 【免费下载链接】egg 🥚🥚🥚🥚 Born to build better enterprise frameworks and apps with Node.js & Koa. https://307.…

2026/9/21 2:17:12 阅读更多 →
Hyperledger Fabric osnadmin channel 命令完全指南:orderer 通道参与管理实操与源码解析

Hyperledger Fabric osnadmin channel 命令完全指南:orderer 通道参与管理实操与源码解析

区块链密码学 【免费下载链接】fabric Hyperledger Fabric is an enterprise-grade permissioned distributed ledger framework for developing solutions and applications. Its modular and versatile design satisfies a broad range of industry use cases. It offers a u…

2026/9/21 2:17:12 阅读更多 →
基于BiLSTM的轴承剩余寿命预测及MATLAB GUI实现

基于BiLSTM的轴承剩余寿命预测及MATLAB GUI实现

简介:一套基于MATLAB的BiLSTM轴承剩余寿命预测实战项目,面向具备编程基础、从事故障诊断与预测性维护的科研人员和工程师。项目围绕振动信号采集、预处理、滑动窗口序列构建、BiLSTM回归建模及评估可视化展开,覆盖从数据构造到GUI交互部署的完…

2026/9/21 2:16:12 阅读更多 →

日新闻

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程

agents-generator 决策矩阵全解析:从项目检测到 AGENTS.md 规则生成的 16 步判定流程 【免费下载链接】agentic-awesome-skills AAS Core is the local, agent-first control plane for complete catalog discovery, agent-owned selection, stack validation, and …

2026/9/21 0:00:01 阅读更多 →
gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析

gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析

gin-vue-admin 前端工具函数全景指南:src/utils 复用规范与源码级解析 【免费下载链接】gin-vue-admin 🚀ViteVue3Gin拥有AI辅助的基础开发平台,企业级业务AI开发解决方案,内置mcp辅助服务,内置skills管理,…

2026/9/21 0:00:01 阅读更多 →
Wox 全功能插件开发实战指南:基于 Python / Node.js 宿主与 WebSocket 的持久化插件体系

Wox 全功能插件开发实战指南:基于 Python / Node.js 宿主与 WebSocket 的持久化插件体系

桌面应用AI 应用插件系统 【免费下载链接】Wox A cross-platform launcher that simply works 项目地址: https://gitcode.com/gh_mirrors/wo/Wox 点击查看 免费下载 全功能插件(Full-featured Plugin)是 Wox 三类插件实现方式中能力最完整的…

2026/9/21 0:00:01 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/20 0:00:46 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/20 0:00:46 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/20 0:00:46 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/19 23:01:36 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/19 17:50:38 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/19 23:35:34 阅读更多 →