flink命令⾏提交jar时,传⼊⾃定义的参数或配置⽂件,任务运⾏时获取参数
Flink提供ParameterTool类,从不同的来源读取参数;
1.fromArgs()
即可读取在命令⾏中传递的参数,注意传参 格式为 key value ,key必须以 - 或者 – 开头
耐克乔丹2.fromPropertiesFile
<
若传递的参数多,可以在命令⾏中使⽤fromArgs传递 PropertiesFile 的⽂件路径,然后再运⽤此⽅法读取配置⽂件中的参数。
4.DEMO
public class Demo {
public static void main(String[] args) throws Exception {
final ExecutionEnvironment env = ExecutionEnvironment();
ParameterTool parameters = ParameterTool.fromArgs(args);
String local_path = ("path",null); //指定参数名:path
DataSet<String> toFilter = env.fromElements(local_path);
FlatMapOperator<String, String> flatMap = toFilter.flatMap(new RichFlatMapFunction<String, String>() {
@Override
public void flatMap(String value, Collector<String> out) throws Exception {
String[] split = value.split(",");
for(String s:split){
}
}
});
flatMap.print();
}
}最强大脑2020
public class Upjar {
public static void main(String[] args) throws IOException {
List<String> arg = new ArrayList<>();
笔记本内存升级arg.add("sh");
arg.add("-c");
arg.add("./flink run -p 2 -C file:///home/czFlinkDemo/target/czFlinkDemo-1.0-SNAPSHOT.jar -dataset.wordCount.Demo /home/czFlinkDem o/target/czFlinkDemo-1.0-SNAPSHOT.jar -path a,gh,jk,ui,o\n");
ProcessBuilder pb = new ProcessBuilder(arg);
//设置⼯作⽬录
pb.directory(new File("/home/flink/flink-1.10.0/bin"));
//redirectErrorStream 属性默认值为false,意思是⼦进程的标准输出和错误输出被发送给两个独⽴的流,可通过 InputStream() 和 tErrorStream() ⽅法来访问
清明作文500字/
/值设置为 true,标准错误将与标准输出合并。合并的数据可从 InputStream() 返回的流读取,⽽从 ErrorStream() 返回的流读取将直接到达⽂件尾
File log = new File("/mnt/htst/log/htst.log");
Process p = pb.start();
directInput() == ProcessBuilder.Redirect.PIPE;
//重定向标准输出到⽇志
directOutput().file() == log;
InputStream().read() == -1;
}电脑定时关机怎么设置>石头的故事
}
注意: 把⾃定义的传参放到命令⾏的最后
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论