这是Flink入门代码,较为简单
package com.heiheihei.flink;
import org.apache.flink.api.common.functions.FlatMapFunction;
import org.apache.flink.api.java.DataSet;
import org.apache.flink.api.java.ExecutionEnvironment;
import org.apache.flink.api.java.operators.DataSource;
import org.apache.flink.api.java.tuple.Tuple2;
import org.apache.flink.util.Collector;
/**
* @author 嘿嘿嘿1212
* @version 1.0
* @date 2020/3/31 16:26
*/
public class WordWithCount {
public static void main(String[] args) throws Exception {
//构建环境
final ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
//通过字符串构建数据集
DataSource<String> text = env.fromElements(
"Who's there?",
"I think I hear them Stand, ho! Who's there?"
);
//分割字符串,按照key进行分组,统计相同的key个数
DataSet<Tuple2<String, Integer>> wordCounts = text
.flatMap(new LineSplitter())
.groupBy(0)//聚合
.sum(1);//统计
//打印
wordCounts.print();
}
public static class LineSplitter implements FlatMapFunction<String, Tuple2<String, Integer>> {
@Override
public void flatMap(String line, Collector<Tuple2<String, Integer>> collector) throws Exception {
//根据空格进行切割
for (String word : line.split(" ")) {
collector.collect(new Tuple2<>(word, 1));
}
}
}
}
更多推荐
Flink 入门编写(java)
发布评论