Spark CatalystSqlParser解析简单SQL触发ParseException错误求解
错误原因
这个报错是因为你调用了错误的解析接口:
parseExpression方法仅用于解析单个SQL表达式,比如col1 + 5、upper(user_name)、sum(amount)这类独立的运算逻辑,不支持解析完整的SELECT查询语句。当解析器读到表达式中不应该出现的from关键字时,就会触发语法匹配错误。- 要解析完整的SQL查询语句,需要调用
parsePlan方法,仅需要修改代码中对应的行即可正常运行:
将val parsed = sqlParser.parseExpression(query)替换为val parsed = sqlParser.parsePlan(query)
修改后运行代码,就能正常输出解析后的逻辑计划JSON结构。
内容的提问来源于stack exchange,提问作者Joe Shmo
相关产品推荐
相关产品推荐

