1 个回答
比如拿以下sql举例
SELECT user_id, SUM(amount)
FROM orders
WHERE dt = '2024-05-20'
GROUP BY user_id;
整个sql解析流程如下:1、解析与校验:验证 orders 表存在,user_id、amount、dt 列有效。
2、逻辑优化:
谓词下推:dt = '2024-05-20' 下推至 Scan。
列裁剪:仅加载 user_id、amount、dt。
3、物理计划:
分区裁剪:仅扫描 dt='2024-05-20' 的分区。
聚合策略:本地预聚合 + 全局汇总。
4、执行:
BE 并行扫描分区数据,计算局部 SUM。
结果 Shuffle 到聚合节点汇总,返回最终结果。
发布于:2周前 (05-22) IP属地:
我来回答
您需要 登录 后回答此问题!