我已经使用tablesource类将csv文件中的数据导入apacheflinkjava,并注册了表,正如您在下面的大代码示例中所看到的那样。当我打印hbatable的数据类型时,我得到以下输出:
|-- measurementID: INT |-- dateTime: TIMESTAMP(3)
|-- result: DOUBLE |-- unixDateTime: BIGINT
问题是,当我尝试对hbatable执行简单的sql查询时,在 Result
列。您可以看到下面的简单sql查询和错误消息。 Table t = tableEnv.sqlQuery("SELECT result FROM HBATable " );
线程“main”org.apache.flink.table.api.sqlparserexception中出现异常:sql解析失败。在第1行第8列遇到“result”
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条答案
按热度按时间bihw5rsg1#
result
是保留关键字。尝试重命名该字段。