当前位置: 首页 > news >正文

Spark SQL语法执行顺序

        在 Spark SQL 中,一条 SQL 语句(尤其是查询语句)的书写顺序逻辑执行顺序并不相同。理解它们的先后关系,是写出正确、高效 SQL 的关键。Spark SQL 遵循 SQL 标准,同时因为基于 Catalyst 优化器,实际物理执行可能会被重排,但逻辑执行顺序是确定的。

1. 书写顺序(我们看到的代码)

SELECT [DISTINCT] ... -- 5 FROM ... -- 1 JOIN ... ON ... -- 1 WHERE ... -- 2 GROUP BY ... -- 3 HAVING ... -- 4 WINDOW ... -- (窗口定义) ORDER BY ... -- 6 LIMIT ... -- 7
注意:LATERAL VIEW、TABLESAMPLE、PIVOT/UNPIVOT 等子句的位置也遵循特定顺序,后面会补充。

2. 逻辑执行顺序(真正处理的先后)

对于一条查询,数据流转的逻辑步骤如下(数字表示步骤序号):

① FROM / JOIN (含 ON) ② WHERE ③ GROUP BY ④ HAVING ⑤ SELECT (包含 DISTINCT, 窗口函数, 聚合函数) ⑥ ORDER BY ⑦ LIMIT / OFFSET

下面逐步详解每一步做了什么,以及 Spark SQL 的特殊之处。

① FROM & JOIN

  • 动作:读取表、视图或子查询,并执行连接操作(JOIN ... ON)。

  • Spark 注意点

    • 这一步确定数据源,如果是 Hive 表,则读 Hive;如果是 DataFrame 注册的临时视图,则读内存数据。

    • JOIN 条件 (ON) 在这一步执行,用于生成连接后的行。

    • 如果有 LATERAL VIEW(如 LATERAL VIEW explode(...)),它紧跟在 FROM 表名之后,在这一步对每一行执行表生成函数,生成新列并展开。

    • TABLESAMPLE(抽样)也是在 FROM 

http://www.jsqmd.com/news/1346345/

相关文章:

  • 三明|2026 彩钢瓦翻新、彩钢瓦防水、彩钢瓦补漏、彩钢瓦除锈、彩钢瓦喷漆、金属屋面翻新、钢结构屋面防水、厂房屋面除锈喷漆、屋顶彩钢瓦修缮合作方甄选避坑指南 - 本地便民网
  • 无货源一件发货步骤详解,抖掌柜助力抖店商家高效处理订单 - 抖掌柜一键下单
  • Qt软件开关等按钮点击时,加入权限验证的一种方案
  • 终极免费NTFS解决方案:Nigate让Mac完美读写Windows硬盘
  • LangChain核心概念,Chain、Agent、Tool、Memory、Retriever一文搞懂
  • 莆田|2026 彩钢瓦翻新、彩钢瓦防水、彩钢瓦补漏、彩钢瓦除锈、彩钢瓦喷漆、金属屋面翻新、钢结构屋面防水、厂房屋面除锈喷漆、屋顶彩钢瓦修缮合作方甄选避坑指南 - 本地便民网
  • 2026年重庆PVC管源头厂家梳理:渝腾电力产品及服务信息汇总 - 董不懂啊
  • 传统服装厂数字化转型:从代工到自主品牌的实战路径
  • 使用YOLO8训练一个自己的模型
  • ROS2+Gazebo+ArduSub构建高保真水下机器人仿真平台
  • 国有房企人才档案纸质化难更新?华恒智信成功案例
  • 2026年靠谱的建筑消防竣工检测、成都消防评估、医院消防安全评估公司怎么选?本地机构综合参考指南 - 优质品牌商家
  • 综合实践:企业网站上云部署实践
  • 【ROS2+深度相机】Orbbec相机时图像传输延迟显著 (DDS数据分发服务配置)
  • 无货源一键铺货怎么做?抖掌柜助力抖店商家高效完成货源上架运营 - 抖掌柜一键下单
  • 原神成就数据导出终极指南:快速免费备份你的游戏记录
  • Unity集成本地大模型:Ollama+DeepSeek实现智能NPC对话系统
  • AI绘画创意融合实战:从概念拆解到Stable Diffusion生成“哈气小动物踢世界杯”
  • RT-Thread文件系统实战:从FatFs到LittleFS的嵌入式存储管理
  • 鸿鼎德盛:珍岛**授权代理商的本地化服务解读 - 城刊速递
  • CMA甲醛检测机构怎么选?资质、能力范围与报告主体核验要点 - ltcma
  • 化工厂人员定位系统报价差在哪?选对才不被安监整改
  • Mac版Word页码设置全攻略:从第K页开始编号与分节符详解
  • 池州市|2026 彩钢瓦翻新、彩钢瓦防水补漏除锈喷漆、金属钢结构厂房屋面修缮合作方选择避坑指南 - 本地便民网
  • 如何快速解密冒险岛游戏数据:WzComparerR2完整使用指南
  • 抖店无货源一键下单怎么做?抖掌柜助力商家高效处理货源订单 - 抖掌柜一键下单
  • Figma中文汉化终极指南:如何3分钟内实现界面本地化
  • Unity网格变形框架Deform:模块化、高性能的3D模型动态变形解决方案
  • Linux tar命令深度解析:从归档原理到自动化备份实战
  • 驱蚊雾森系统的技术进阶路径:从定频到伺服驱动 - 城刊速递