目前已知和了解的SQL解析转义工具有Antlr,Calcite和SparkSQL,就这三种解析转义的优缺点做个简单的阐述
简介
Antlr
是一款非常经典的解析工具,它基于g4文件,只要熟悉其语法机构,即可创建一种新的语言(可以进行词义和语义解析的)。
流程
样例/模板
csvFile: hdr row+ ; hdr : row ; row : field (',' field)* '\r'? '\n' ; field : TEXT | STRING | ;
TEXT : ~[,\n\r"]+ ; STRING : '"' ('""'|~'"')* '"' ; // quote-quote is an escaped quote
|
Antlr在解析这一块的确很优秀,可以指定或者重写语法块以实现更快速、便捷的