![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
sqlparse血缘解析
文章平均质量分 96
fanstuck
曾世界百强私企大数据工程师,现任国企数据开发工程师,工作与研究方向为大数据开发和人工智能,个人喜欢研究技术和算法,博客热衷分享实用项目和技术干货。MCM/ICM Meritorious Winner,APMCM second prize,SCI二区一篇,软著五项专利一项,中国互联网+创新创业大赛省金国铜,全国计算机设计大赛省二国三,全国数统三等。总计省级奖项以上23项,热衷分享喜欢原创~关注我会给你带来一些不一样的认知和成长。
展开
-
基于Python-sqlparse的SQL字段血缘追踪解析实现
SQL解析和血缘追踪的研究现在差不多可以告一段落了,从8月22日写HiveSQL源码之语法词法编译文件解析一文详解这篇文章以来便断断续续的对SQL语法解析研究,到了今天终于是有了一番成果。基于Python-sqlparse的SQL表血缘追踪解析实现,大家可以看这篇文章,接下来是接着上篇内容补充一下该功能的完善,也就是实现SQL字段血缘的解析,这是做Hive血缘或者mysql必须完成的功能,当然实现起来也是比较麻烦的。这里主要讲一下思路和实现的步骤。原创 2022-10-24 11:08:22 · 5699 阅读 · 93 评论 -
基于antlr-3.5.2+Python实现一般HiveSQL血缘解析(二)
作为一个开发实践项目,实现对HiveSQL语句的解析可以很有效的作为管理用户查询权限的管理。对于这方面的知识本身也不是非常熟悉了解,很多时候也是边学边记。身边也没有人指导这个方案具体该怎么实现怎么做,只有需求是要将复杂查询或者是关联建表的SQL语句能够将其库名和表名全都给提取出来并且能够实现上下游的追溯。这个功能最好还是用JAVA或者Scala写,毕竟Hive的底层还是JAVA写的方便,但是初步改写的话我常用语言还是python,java还是有点生疏的。原创 2022-10-09 09:13:47 · 911 阅读 · 6 评论 -
基于antlr-3.5.2+Python实现一般HiveSQL血缘解析(一)
作为一个开发实践项目,实现对HiveSQL语句的解析可以很有效的作为管理用户查询权限的管理。对于这方面的知识本身也不是非常熟悉了解,很多时候也是边学边记。身边也没有人指导这个方案具体该怎么实现怎么做,只有需求是要将复杂查询或者是关联建表的SQL语句能够将其库名和表名全都给提取出来并且能够实现上下游的追溯。这个功能最好还是用JAVA或者Scala写,毕竟Hive的底层还是JAVA写的方便,但是初步改写的话我常用语言还是python,java还是有点生疏的。原创 2022-10-08 15:52:17 · 2472 阅读 · 15 评论 -
基于Druid的HiveSQL血缘解析
我说过做Python的SQL解析算是一个对AST解析树的深入理解。没想到的是基于sqlparse的工具做出sql解析是可行的,这涉及到较多的递归和判断,但是我写的程序应对的SQL语句应该是不多的1,很多条SQL语句都没有测试完还是有一定的风险的。如果大家有想要解析的SQL可以私信发我,将免费提供SQL解析,如果程序功能和兼容性足够完善的话,将再出一篇文章把所有的解析过程详解。本篇文章主要讲述的是直接利用Druid的功能直接实现血缘解析,就不再过多的去解析其底层AST树的解析了,大致的做法都是相同的。原创 2022-11-02 16:15:19 · 5215 阅读 · 60 评论 -
Jython-在JAVA调用Python脚本使用方法详解+示例代码
Jython项目提供了Java中Python的实现,为Python提供了在JVM上运行和访问Java编写的类。当前版本(Jython 2.7.x)仅支持Python 2,目前写这篇文章的最新版本到了2.7.3了。这也没有办法,我看作者17年写到2.7之后道现在为止5年了还没有支持到Python 3.毕竟是人家的开源项目也不太好说什么,程序员都忙。最新版本Jython2.7.3仅支持Python2.7。那么如果我们的Python脚本里面使用到的一些代码或者是第三方库不兼容Python2.7版本的话,就会报错。原创 2022-10-26 16:15:47 · 7173 阅读 · 25 评论 -
基于Python-sqlparse的SQL表血缘追踪解析实现
之前我在两篇SQLparse的开源库解析中就说过自己在寻找在python编程内可行的SQL血缘解析,JAVA去解析Hive的源码实践的话我还是打算放到后期来做,先把Python能够实现的先实现完。主要是HiveSQL的底层就是JAVA代码,怎么改写还是绕不开JAVA的。原创 2022-10-19 14:54:11 · 9218 阅读 · 75 评论 -
Python-sqlparse解析SQL工具库一文详解(二)
Python-sqlparse解析SQL工具库一文详解写此sqlparse库的目的还是寻找在python编程内可行的SQL血缘解析,JAVA去解析Hive的源码实践的话我还是打算放到后期来做,先把Python能够实现的先实现完。上篇系列讲述的基于antrl解析说是用python其实还是太牵强了,无非就是使用PyJnius调用JAVA的类方法来实现,没有多大的意义来牵扯到Python编程。主要是HiveSQL的底层就是JAVA代码,怎么改写还是绕不开JAVA的。原创 2022-10-13 15:57:22 · 3350 阅读 · 24 评论 -
Python-sqlparse解析SQL工具库一文详解(一)
写此sqlparse库的目的还是寻找在python编程内可行的SQL血缘解析,JAVA去解析Hive的源码实践的话我还是打算放到后期来做,先把Python能够实现的先实现完。上篇系列讲述的基于antrl解析说是用python其实还是太牵强了,无非就是使用PyJnius调用JAVA的类方法来实现,没有多大的意义来牵扯到Python编程。主要是HiveSQL的底层就是JAVA代码,怎么改写还是绕不开JAVA的。原创 2022-10-12 14:36:36 · 16513 阅读 · 60 评论