分享更有价值
被信任是一种快乐

什么是扩展Spark SQL解析

文章页正文上

这篇文章主要讲解了“什么是扩展Spark SQL解析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“什么是扩展Spark SQL解析”吧!ANTLRA免费主机域名ntlr4是一款开源的语法分析器生成工具,能够根据语法规则文件生成对应的语法分析器。现在很多流行的应用和开源项目里都有使用,比如Hadoop、Hive以及Spark等都在使用ANTLR来做语法分析。ANTLR 语法识别一般分为二个阶段:1.词法分析阶段 (lexical analysis)对应的分析程序叫做 lexer ,负责将符号(token)分组成符号类(token class or token type)2.解析阶段根据词法,构建出一棵分析树(parse tree)或叫语法树(syntax tree)ANTLR的语法文件,非常像电路图,从入口到出口,每个Token就像电阻,连接线就是短路点。上面截图对应的语法文件片段,定义了两部分语法,一部分是显示表达式和赋值,另外一部分是运算和表达式定义。接下来,加上定义词法部分,就能形成完整的语法文件。完整语法文件:Spark的语法文件,在sql下的catalyst模块里,如下图:一条正常SQL,例如 Select t.id,t.name from t , 现在我们为其添加一个 JACKY表达式,令其出现在 Select 后面 ,形成一条语句我们先看一下正常的语法规则:现在我们添加一个 jackyExpressionjackExpression 本身的规则就是 JACKY加上括号包裹的一个数字将 JACKY 添加为token修改语法文件 如下:经过上面的修改,就可以测试语法规则,是不是符合预期了,下面是一颗解析树,我们可以看到jackyExpression已经可以正常解析了。这里引用一张经典的Spark SQL架构图我们输入的 SQL语句 首先被解析成 Unresolved Logical Pan ,对应的是给逻辑计划添加遍历方法:再处理namedExpression免费主机域名的时候,添加jackyExpression处理好了,到这里从逻辑计划处理就完成了,有了逻辑计划,就可以在后续物理计划中添加相应的处理逻辑就可以了(还没研究明白… Orz)。测试用例执行结果感谢各位的阅读,以上就是“什么是扩展Spark SQL解析”的内容了,经过本文的学习后,相信大家对什么是扩展Spark SQL解析这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是云技术,小编将为大家推送更多相关知识点的文章,欢迎关注!

相关推荐: mysql5.6错误代码都有哪些

这期内容当中小编将会给大家带来有关mysql5.6错误代码都有哪些,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。上述就是小编为大家分享的mysql5.6错误代码都有哪些了,免费主机域名如果刚好有类似的疑惑,不妨参照上述分析进…

文章页内容下
赞(0) 打赏
版权声明:本站采用知识共享、学习交流,不允许用于商业用途;文章由发布者自行承担一切责任,与本站无关。
文章页正文下
文章页评论上

云服务器、web空间可免费试用

宝塔面板主机、支持php,mysql等,SSL部署;安全高速企业专供99.999%稳定,另有高防主机、不限制内容等类型,具体可咨询QQ:360163164,Tel同微信:18905205712

主机选购导航云服务器试用

登录

找回密码

注册