Ошибка разбора при выборе двойного столбца в Apache Flink SQL - PullRequest
0 голосов
/ 18 октября 2019

Я импортировал данные из CSV-файла в Apache Flink Java с помощью класса TableSource и зарегистрировал таблицу, как вы можете видеть в большом примере кода полностью ниже. Когда я печатаю тип данных HBATable, я получаю следующий вывод:

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

Проблема заключается вкогда я пытаюсь выполнить простой запрос SQL на HBATable, я получаю parseError в столбце Result. Вы можете увидеть простой SQL-запрос ниже и сообщение об ошибке.

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

Исключение в потоке "main" 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);

1 Ответ

1 голос
/ 18 октября 2019

result является зарезервированным ключевым словом . Попробуйте переименовать это поле.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...