flink的启动
首先在flink的bin目录下,打开终端,输入 start-cluster.sh
如果在http://localhost:8081上显示:Total Task Slots 0 Task Managers 0
则在终端要重新启动:
taskmanager.sh start
jobmanager.sh start
在终端提交job:/usr/local/flink-1.9.1/bin/flink run -c quickstart.WordCount ./flink_quickstart.jar --input ./a.txt --output ./b.txt(包括指定输入文件和输出文件)
该项目中的类有:
其中Tokenizer 类中的flatMap()方法是我重载的方法,里面可以替换成你想进行的算法,最终把结果数据交给out.collect。
package quickstart;
import com.sun.deploy.util.SyncAccess;
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.api.java.utils.ParameterTool;
import org.apache.flink.util.Collector;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class WordCount {
public WordCount() {
}
public static void main(String[] args) throws Exception {
ParameterTool params = ParameterTool.fromArgs(args);
ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
env.getConfig().setGlobalJobParameters(params);
Object text;
if