WordCount程序
时间: 2024-02-12 19:09:31 浏览: 64
WordCount程序是一个经典的示例,用于演示Flink的基本操作。它的作用是从输入文本中提取单词,并计算每个单词出现的次数。以下是一个简单的Flink WordCount程序:
```java
import org.apache.flink.api.java.ExecutionEnvironment;
import org.apache.flink.api.java.DataSet;
import org.apache.flink.api.java.tuple.Tuple2;
public class WordCount {
public static void main(String[] args) throws Exception {
// 创建执行环境
final ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
// 读取文本文件
DataSet<String> text = env.readTextFile("input.txt");
// 计算单词出现次数
DataSet<Tuple2<String, Integer>> counts =
text.flatMap((String line, Collector<Tuple2<String, Integer>> out) -> {
String[] tokens = line.toLowerCase().split("\\W+");
for (String token : tokens) {
if (token.length() > 0) {
out.collect(new Tuple2<>(token, 1));
}
}
})
.groupBy(0)
.sum(1);
// 打印输出
counts.print();
}
}
```
该程序使用了Flink的DataSet API,首先从文本文件中读取数据,然后使用flatMap操作将每行文本拆分成单词,并生成一个以单词为键、以出现次数为值的Tuple2对象。接着,程序使用groupBy操作将相同单词的Tuple2对象分组,并使用sum操作计算每个单词出现的总次数。最后,程序使用print操作将结果打印出来。
注意,上述示例代码仅供参考,实际使用时需要根据实际数据和业务需求进行调整和优化。
阅读全文