Flink批处理 wordcount
- 准备数据
Hello world 2021
hello flink 2022
hello java 2022
- 处理
public class BathCount {
public static void main(String[] args) throws Exception {
ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
DataSource<String> linesDS = env.readTextFile("src/input/words.txt");
FlatMapOperator<String, Tuple2<String, Long>> ret = linesDS.flatMap((String line, Collector<Tuple2<String, Long>> out) -> {
String[] words = line.split(" ");
for (String word : words) {
out.collect(Tuple2.of(word, 1L));
}
}).returns(Types.TUPLE(Types.STRING, Types.LONG));
UnsortedGrouping<Tuple2<String, Long>> retGroup = ret.groupBy(0);
AggregateOperator<Tuple2<String, Long>> wordCount = retGroup.sum(1);
wordCount.print();
}
}
- 输出结果
- 注意
写代码时导包要选择FLINK 对应的包