public static void main(String[] args) throws Exception {
String inPath = "D:\\IDEA\\FlinkTutorial\\src\\main\\resources\\name.txt";
// 1. 创建执行环境
ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
// 2. 从文件读取数据 按行读取(存储的元素就是每行的文本)
DataSet<String> inputSet = env.readTextFile(inPath);
FlatMapOperator<String, Tuple2<String, Long>> wordAndOne = inputSet.flatMap((String line, Collector<Tuple2<String, Long>> out) -> {
String[] split = line.split("、");
for (String word : split
) {
String substring = word.substring(0,1);
out.collect(Tuple2.of(substring, 1L));
}
}).returns(Types.TUPLE(Types.STRING, Types.LONG));
// System.out.println(Tu);
//按照word进行分组
UnsortedGrouping<Tuple2<String, Long>> wordAndOneUG = wordAndOne.groupBy(0);
//分组内聚合统计
AggregateOperator<Tuple2<String, Long>> sum = wordAndOneUG.sum(1);
sum.print();
}
}