前一节介绍了 流处理开发示例,本节来展示flink批处理开发。
一、版本和开发工具
flink版本:1.13.3
开发工具:Intellij IDEA
Java版本:1.8.0_261
二、开发示例
1、开发需求:统计一个文件中的单词出现的总次数,并且把结果存储到文件中。
2、接上节的开发,代码下载地址:Flink开发示例源代码
3、核心代码如下
public static void main(String[] args) throws Exception{
// 输入文件目录
String inputPath = "D:\\data\\file";
// 输出文件名result
String outputPath = "D:\\data\\result.txt";
// 获取运行环境
ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
// 获取文件中的内容
DataSource<String> text = env.readTextFile(inputPath);
// 计算
DataSet<Tuple2<String,Integer>> counts = text.flatMap(new Tokenizer()).groupBy(0).sum(1);
// 写入文件
counts.writeAsCsv(outputPath,"\n","***").setParallelism(1);
// 执行
env.execute("batch word count");
}
三、运行
1、创建文件,放入d:\data\file
1
hel
wor
test
wxt
1
hel
wor
2、运行程序
3、查看运行结果。打开d:\data\result文件
test***1
1***2
hel***2
wxt***1
wor***2