flink统计每个人的总成绩样例打包执行代码
时间: 2024-03-16 15:46:04 浏览: 70
flink样例完整代码
以下是使用 Flink 统计每个人的总成绩的示例代码:
```java
import org.apache.flink.api.common.functions.MapFunction;
import org.apache.flink.api.java.ExecutionEnvironment;
import org.apache.flink.api.java.operators.DataSource;
import org.apache.flink.api.java.tuple.Tuple2;
public class ScoreStatistics {
public static void main(String[] args) throws Exception {
// 获取执行环境
ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
// 加载数据源
DataSource<String> input = env.readTextFile("score.csv");
// 转换数据
input.map(new MapFunction<String, Tuple2<String, Integer>>() {
@Override
public Tuple2<String, Integer> map(String value) throws Exception {
String[] fields = value.split(",");
return new Tuple2<>(fields[0], Integer.parseInt(fields[1]));
}
})
// 按照姓名进行分组
.groupBy(0)
// 计算每个人的总成绩
.sum(1)
// 输出结果
.print();
}
}
```
其中,数据源为一个 CSV 文件,格式为:
```
张三,80
李四,90
张三,85
王五,75
李四,95
```
运行该程序,即可输出每个人的总成绩:
```
(张三,165)
(李四,185)
(王五,75)
```
阅读全文