apache flink:无法将表对象转换为数据集对象

ufj5ltwl  于 2021-06-24  发布在  Flink
关注(0)|答案(2)|浏览(401)

我在flink1.4.0上使用表api。我有一些 Table 要转换为 DataSet 类型 Row . 该项目是使用maven构建的,并在intellij上导入。我有以下代码,ide无法解析该方法 tableenv.toDataSet() 方法。请帮帮我。谢谢您。

ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
BatchTableEnvironment tableEnvironment = TableEnvironment.getTableEnvironment(env);
...
tableEnvironment.registerTableSource("table1",csvSource);
Table table1 = tableEnvironment.scan("table1");
DataSet<Row> result = tableEnvironment.toDataSet(table1, Row.class);

最后一条语句导致错误
“无法解析todataset()方法”

lawou6xi

lawou6xi1#

如果你想读一本书 DataSetcsv 文件,按以下方式操作: DataSet<YourType> csvInput = env.readCsvFile("hdfs:///the/CSV/file") ... 更多信息:https://ci.apache.org/projects/flink/flink-docs-release-1.4/dev/batch/#data-来源

gwo2fgha

gwo2fgha2#

您可能无法导入正确的 BatchTableEnvironment .
请检查是否导入 org.apache.flink.table.api.java.BatchTableEnvironment 而不是 org.apache.flink.table.api.BatchTableEnvironment . 前者是java和scala变体的公共基类。

相关问题