首页 新闻 会员 周边 捐助

Hive sql 如何解析到对应的表名和列名

0
悬赏园豆:20 [已解决问题] 解决于 2015-06-23 15:00

背景:项目中,需要在执行hive之前,先对hive的sql进行解析,获取到sql中对应的表名和列名。

1.阿里的druid中的sql parser有各种关系数据库sql的解析,但hive的不支持。

2.General sql parser中有hive sql的对应解析,但是商业版且自己不可控,不打算用。

3.想从hive的ParseDriver中获取语法树,解析得到table和column,但没有成功,因为没发现有可用的visitor进行遍历语法树进行获取。

4.antlr自己拿到hive的词法文件和语法文件,进行解析,觉得难度和工作量有些大,并且觉得hive的jar中已经做过这些事了,是不是可以不用做。

有人能提供帮助吗?

在大地画满窗子的主页 在大地画满窗子 | 初学一级 | 园豆:102
提问于:2015-06-16 10:26
< >
分享
最佳答案
0

通过hive的方法获取到AST, 自己编写一个AST的parser,获取到表,列,别名及操作的各种信息。

AST的parser代码参照博客。

在大地画满窗子 | 初学一级 |园豆:102 | 2015-06-23 15:00

代码呢

石森的博客 | 园豆:200 (初学一级) | 2019-08-23 20:37
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册