Apache Flink:无法将 Table 对象转换为 DataSet 对象
Apache Flink: Unable to convert the Table object to DataSet object
我在 Flink 1.4.0 上使用 Table API。我有一些 Table
对象要转换为类型 Row
的 DataSet
。该项目是使用 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);
最后一条语句导致错误
"Cannot resolve toDataSet() method"
如果您想从 csv
文件中读取 DataSet
,请按以下方式执行:
DataSet<YourType> csvInput = env.readCsvFile("hdfs:///the/CSV/file") ...
更多相关信息:https://ci.apache.org/projects/flink/flink-docs-release-1.4/dev/batch/#data-sources
您可能没有正确导入 BatchTableEnvironment
。
请检查您导入的是 org.apache.flink.table.api.java.BatchTableEnvironment
而不是 org.apache.flink.table.api.BatchTableEnvironment
。前者是 Java 和 Scala 变体的共同基础 class。
我在 Flink 1.4.0 上使用 Table API。我有一些 Table
对象要转换为类型 Row
的 DataSet
。该项目是使用 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);
最后一条语句导致错误
"Cannot resolve toDataSet() method"
如果您想从 csv
文件中读取 DataSet
,请按以下方式执行:
DataSet<YourType> csvInput = env.readCsvFile("hdfs:///the/CSV/file") ...
更多相关信息:https://ci.apache.org/projects/flink/flink-docs-release-1.4/dev/batch/#data-sources
您可能没有正确导入 BatchTableEnvironment
。
请检查您导入的是 org.apache.flink.table.api.java.BatchTableEnvironment
而不是 org.apache.flink.table.api.BatchTableEnvironment
。前者是 Java 和 Scala 变体的共同基础 class。