引入依赖
org.apache.flink flink-java1.10.1 org.apache.flink flink-streaming-java_2.121.10.1
批处理代码(未知原因暂时数据没有打印 后续知道了来补充)
package com.robert.flink.wcTest;
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.tuple.Tuple2;
import org.apache.flink.util.Collector;
public class FlinkBatchWordCountPrintTest {
public static void main(String[] args) throws Exception {
//get runtime environment
ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
//path of file for test
String filePath = "D:\word.txt";
//read content into dataset from file
DataSet stringDataSet = env.readTextFile(filePath);
DataSet> sum = stringDataSet.flatMap(new FlatMapFunction>() {
@Override
public void flatMap(String value, Collector> collector) {
String[] words = value.split("");
for (String word : words) {
collector.collect(new Tuple2<>(word, 1));
}
}
}).groupBy(0).sum(1);
//print content of dataset
sum.print();
}
}
流处理代码(未知原因暂时数据没有打印 后续知道了来补充)
package com.robert.flink.wcTest;
import org.apache.flink.api.common.functions.FlatMapFunction;
import org.apache.flink.api.common.typeinfo.Types;
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.operators.DataSource;
import org.apache.flink.api.java.operators.FlatMapOperator;
import org.apache.flink.api.java.tuple.Tuple2;
import org.apache.flink.streaming.api.datastream.DataStream;
import org.apache.flink.streaming.api.datastream.SingleOutputStreamOperator;
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
import org.apache.flink.util.Collector;
public class FlinStreamWordCountPrintTest {
public static void main(String[] args) throws Exception {
//get runtime environment
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
//path of file for test
String filePath = "C:\study\咕泡\mybatis\06.MyBatis原理篇\01.MyBatis应用分析与最佳实践\课堂源码\MyBatis第一天代码\flink\src\main\resources\static\word.txt";
//read content into dataset from file
DataStream stringDataSet = env.readTextFile(filePath);
//count word appeared times
DataStream> sum = stringDataSet.flatMap((FlatMapFunction>) (value, collector) -> {
String[] words = value.split(" ");
for (String word : words) {
collector.collect(new Tuple2<>(word, 1));
}
}).returns(Types.TUPLE(Types.STRING, Types.INT)).keyBy(0).sum(1);
//print content of dataset
sum.print();
env.execute();
}
}



