出错代码如下?
package Table;
import org.apache.flink.api.common.typeinfo.TypeInformation;
import org.apache.flink.core.fs.FileSystem;
import org.apache.flink.streaming.api.datastream.DataStreamSource;
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
import org.apache.flink.table.api.Table;
import org.apache.flink.table.api.Types;
import org.apache.flink.table.api.java.StreamTableEnvironment;
import org.apache.flink.table.sinks.CsvTableSink;
import java.util.ArrayList;
import java.util.List;
public class C {
public static void main(String[] args) {
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
StreamTableEnvironment tableEnvironment = StreamTableEnvironment.getTableEnvironment(env);
env.setParallelism(2);
List<City> list = new ArrayList<City>(){
{
add(new City("北京",10));
add(new City("上海",11));
add(new City("广州",12));
add(new City("深圳",13));
add(new City("杭州",14));
}
};
DataStreamSource dataStreamSource = env.fromCollection(list);
//注册数据源 这个是针对全部字段的
tableEnvironment.registerDataStream("c",dataStreamSource);
//这个是仅针对Name这个字段的
tableEnvironment.registerDataStream("c1",dataStreamSource,"Name");
//输出数据源
CsvTableSink sink = new CsvTableSink("src/main/resources/3.csv",",",2, FileSystem.WriteMode.OVERWRITE);
//注册输出数据源
tableEnvironment.registerTableSink("TableSink",
new String[]{"Name","Number"},
new TypeInformation[]{Types.STRING(),Types.INT()},sink);
Table table = tableEnvironment.sqlQuery("select * from c where Number>12");
table.insertInto("TableSink");
try {
env.execute();
} catch (Exception e) {
e.printStackTrace();
}
}
}
并且另外建了一个City类
package Table;
import java.io.Serializable;
public class City implements Serializable {
public String Name;
public int Number;
public City(String Name, int Number) {
this.Name = Name;
this.Number = Number;
}
public String getName() {
return Name;
}
public void setName(String name) {
Name = name;
}
public int getNumber() {
return Number;
}
public void setNumber(int number) {
Number = number;
}
}
出错解决的办法是在City类下没加默认构造器,加上就可以l
|