1

我正在尝试使用 Apache Calcite 的 SqlParser 来获取我用 Hive 和 Impala 编写的视图的实体级沿袭。但是,解析器会在以下情况下引发异常。

SELECT emp.1ab FROM emp -- Column name begins with numeric

org.apache.calcite.sql.parser.SqlParseException: Encountered ".1" at line 1, column 12.
Was expecting one of:
    <EOF> 
    "AS" ...

SELECT PERIOD from emp -- column name is a key word (period)

Caused by: org.apache.calcite.sql.parser.impl.ParseException: Encountered "period from" at line 1, column 9.
Was expecting one of:
    "ALL" ...

这是我的 SqlParser 配置。

SqlParser.Config config = SqlParser
                .configBuilder()
                .setConformance(SqlConformanceEnum.LENIENT)
                .build();
        

是否有任何其他配置设置可用于自定义解析器以满足我的需要。所有这些查询在 Hive 中都是有效的。

4

0 回答 0