在Apache Flink SQL中选择双列时解析错误

问题描述 投票:0回答:1

我已经使用TableSource类将数据从CSV文件导入到Apache Flink Java中,并按照您在下面的大代码示例中完全看到的方式注册了该表。当我打印HBATable的数据类型时,得到以下输出:

|-- measurementID: INT|-- dateTime: TIMESTAMP(3)|-- result: DOUBLE|-- unixDateTime: BIGINT

问题是,当我尝试在HBATable上执行简单的SQL查询时,在Result列上收到parseError。您可以在下面看到简单的SQL查询和错误消息。

Table t = tableEnv.sqlQuery("SELECT result FROM HBATable " );

线程“主”中的异常org.apache.flink.table.api.SqlParserException:SQL解析失败。在第1行第8列遇到“结果”

        BatchTableEnvironment tableEnv = BatchTableEnvironment.create(fbEnv);

        TableSource csvSource = CsvTableSource.builder()
                .path("path")
                .fieldDelimiter(";")
                .field("ID", Types.INT())
                .field("dateTime", Types.SQL_TIMESTAMP())
                .field("result", Types.DOUBLE())
                .field("unixDateTime", Types.LONG())
                .build();

        //Register the TableSource as table "HTable"
        tableEnv.registerTableSource("HTable", csvSource);
        Table HBATable = tableEnv.scan("HTable");
        tableEnv.registerTable("HBATable", HBATable);
java apache-flink import-from-csv
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.