环境:
并行度设置:
读取文件:
文件中:readTextFile()
端口:socketTextStream()
flatMap():
两个泛型:输入in、输出out
in.split(" ");for ( String s :arr);out.collect(tuple2.of(word ,1))
注意 :tuple2.of (word,1) = new tuple2<String,Integer>(woed,1),flink为java实现了元组
keyby( )
两个泛型:输入in、输出out
return in.f0
shuffle阶段
sum ("f1") 维护内部状态,为每个key维护一个累加器,更新累加器,维护累加器,将数据丢弃。
或者
.reduce(new ReduceFunction<Tuple2<String, Integer>>() { @Override public Tuple2<String, Integer> reduce(Tuple2<String, Integer> value1, Tuple2<String, Integer> value2) throws Exception { return Tuple2.of(value1.f0,value1.f1+value2.f1);
文件当成流,一条条的消费,流批统一
env.execute();