Flink 词频统计
任务描述
本关任务:根据编程要求,完成任务。
编程要求
打开右侧代码文件窗口,在 Begin 至 End 区域补充代码,完成任务。
当前共有三个类,分别是 WordCount、WordCountData、WordCountTokenizer;其中 WordCountData 类负责提供词频统计的数据,WordCountTokenizer 类负责对数据进行分词。
请你在 WordCount 中调用这两个类完成词频统计,并打印输出统计结果;
可以切换文件,对其余两个类进行观察。
import org.apache.flink.api.java.DataSet;
import org.apache.flink.api.java.ExecutionEnvironment;
import org.apache.flink.api.java.operators.AggregateOperator;
import org.apache.flink.api.java.tuple.Tuple2;
import org.apache.flink.api.java.utils.ParameterTool;
public class WordCount {
public WordCount(){}
public static void main(String[] args) throws Exception {
/**************** Begin ****************/
// 获取当前 Flink 应用程序的执行环境
ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
// 使用 WordCountData 中提供的数据
DataSet<String> text = WordCountData.getDefaultTextLineDataset(env);
// 调用 WordCountTokenizer 类进行词频统计
DataSet<Tuple2<String, Integer>> counts = text
.flatMap(new WordCountTokenizer())
.groupBy(0)
.sum(1);
// 将统计结果打印到控制台
counts.print();
/**************** End ****************/
}
}