SPARKSQL3.0-Unresolved[Parsed]阶段源码剖析

本文深入剖析SPARKSQL3.0的Unresolved阶段,从sql字符串通过ANTLR4转化为AST语法树,再到LogicalPlan的构建过程。详细讲解了ANTLR4生成的SPARK-AST语法树结构,并分析了如何逐步构建logicalPlan,展示了SQL语句在SparkSQL中的解析转换步骤。
摘要由CSDN通过智能技术生成

一、前言

上两节介绍了Antlr4的简单使用以及spark中如何构建SessionState,如果没有看过建议先了解上两节的使用,否则看本节会比较吃力

[SPARKSQL3.0-Antlr4由浅入深&SparkSQL语法解析]

[SPARKSQL3.0-SessionState构建源码剖析]

那么在Unresolved阶段,spark主要做了两件事:

1、将sql字符串通过antrl4转化成AST语法树

2、将AST语法树经过spark自定义访问者模式转化成logicalPlan【logicalPlan可以理解为精简版的语法树】

注意:该阶段中语法树中仅仅是数据结构,不包含任何数据信息

二、sql -> antlr4阶段

先来一个简单的示例:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

高 亮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值