Presto的语法解析器是使用ANTLR生成的
PrestoDB的parser g4语法文件
1 | https://github.com/prestodb/presto/blob/master/presto-parser/src/main/antlr4/com/facebook/presto/sql/parser/SqlBase.g4 |
PrestoSQL(Trino)的parser g4语法文件
1 | https://github.com/trinodb/trino/blob/master/core/trino-grammar/src/main/antlr4/io/trino/grammar/sql/SqlBase.g4 |
如果想在java代码中使用Presto的parser进行语法解析的话,可以引用下面的依赖
PrestoDB(Facebook版本)
1 | <dependency> |
PrestoSQL(社区版本,350及其以下版本叫prestosql,以上改名为Trino)
1 | <dependency> |
Trino(社区版本,版本从351开始)
1 | <dependency> |
presto parser的使用
可以参考:《Hive、Spark、Presto SQL 输入输出表解析》