import org.apache.flink.api.java.ExecutionEnvironment;
import org.apache.flink.api.java.DataSet;
import org.apache.flink.table.api.EnvironmentSettings;
import org.apache.flink.table.api.Table;
import org.apache.flink.table.api.TableEnvironment;
import org.apache.flink.table.api.bridge.java.BatchTableEnvironment;
import static org.apache.flink.table.api.Expressions.*;
public class WordCountTable {
public static void main(String[] args) throws Exception {
ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
BatchTableEnvironment tEnv = BatchTableEnvironment.create(env);
DataSet<WC> input = env.fromElements(
new WC("Hello", 1),
new WC("Flink", 1),
new WC("Hello", 1));
//转换DataSet为Table
Table table = tEnv.fromDataSet(input);
//在注册的表上执行SQL查询并把取回的结果作为一个新的Table
Table filtered = table.groupBy($("word"))
.select($("word"), $("frequency").sum().as("frequency"))
.filter($("frequency").isEqual(2));
DataSet<WC> result = tEnv.toDataSet(filtered, WC.class);
result.print();
}
}
java: 对于groupBy(org.apache.flink.table.api.ApiExpression), 找不到合适的方法
方法 org.apache.flink.table.api.Table.groupBy(scala.collection.Seq<org.apache.flink.table.expressions.Expression>)不适用
(参数不匹配; org.apache.flink.table.api.ApiExpression无法转换为scala.collection.Seq<org.apache.flink.table.expressions.Expression>)
方法 org.apache.flink.table.api.Table.groupBy(java.lang.String)不适用
(参数不匹配; org.apache.flink.table.api.ApiExpression无法转换为java.lang.String)