我的目标是通过集群GUI中的“程序参数”字段将args传递给Flink作业的Main()函数。
要在Main()函数中以某种方式访问它们(理想情况下通过键名称):
public static void main(String[] args) throws Exception {
ParameterTool parameter = ParameterTool.fromArgs(args);
CustomProps props = new CustomProps (DEFAULT_PROPERTIES_FILE);
String kafkaAutoOffsetReset = props.getKafkaAutoOffsetReset();
String cassandraClusterUrl = props.getCassandraClusterUrl();
if (args.length == 1 && args[0] != null) {
cassandraClusterUrl = parameter.get("cassandraClusterUrl");
kafkaAutoOffsetReset = parameter.get("kafkaOffset");
}
//Other code...
}
我尝试了“ParameterTool”,但我没有得到任何东西,如果我尝试类似的东西:
kafkaAutoOffsetReset = args[0];
只有在“程序参数”字段中只输入一个单词时,它才有效。所以,如果我把:
blah
它说它被设置为“等等”,但如果我尝试其中任何一个:
-kafkaOffset blah
--kafkaOffset blah
-kafkaOffset:blah
-kafkaOffset=blah
我一无所获。我在CLI中知道如何将args传递给jar:
--input file:///home/user/hamlet.txt --output file:///home/user/wordcount_out
但似乎有一种不同的方式,我错过了使用GUI这样做,我没有成功找到与它相关的文档。
TL; DR
通过Flink Cluster GUI中的“Program Arguments”字段提交多个args的正确方法是什么?在Main()函数中访问它们的正确方法是什么?
提前感谢您提供任何帮助!