我的目标是通过集群gui中的“ProgramArguments”字段将参数传递给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];
只有在“program arguments”字段中输入一个单词时,它才起作用。如果我说:
blah
它说它被设置为“blah”,但如果我尝试其中任何一个:
-kafkaOffset blah
--kafkaOffset blah
-kafkaOffset:blah
-kafkaOffset=blah
我什么也没得到。我知道在cli中,您如何将args传递给jar的一个示例是:
--input file:///home/user/hamlet.txt --output file:///home/user/wordcount_out
但似乎有一个不同的方式,我错过了这样做与图形用户界面,我在寻找相关的文档失败。
热释光;博士
通过flink cluster gui中的“program arguments”字段提交多个参数的正确方法是什么?在main()函数中访问这些参数的正确方法是什么?
谢谢你的帮助!
2条答案
按热度按时间tjvv9vkg1#
程序参数应该用flink给出,如下所示
--custom.key.one custom.value.one--custom.key.two custom.value.two
pgky5nke2#
我想出来了。以下是必须如何传递参数: