可以直接调用flink自己的sql 解析包
/**
* 解析 flink sql 语句
*
* @param sql
* @return
*/
public static void parseSql(String sql) throws Exception {
SqlParser parser = SqlParser.create(sql, SqlParser.configBuilder()
.setParserFactory(FlinkSqlParserImpl.FACTORY)
.setQuoting(BACK_TICK)
.setUnquotedCasing(Casing.TO_UPPER)
.setQuotedCasing(Casing.UNCHANGED)
.setConformance(FlinkSqlConformance.DEFAULT)
.build()
);
parser.parseStmtList();
}
在mvn工程中
如果只做语法检查可自己编译flink的包再引入pom依赖
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-sql-parser</artifactId>
<version>1.10.0</version>
<dependency>
不然也可以直接引入
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-table-planner-blink_2.11</artifactId>
<version>1.10.0</version>
<dependency>