Description
In FLINK-1525 we've added the ParameterTool.
During the PR review, there was a request for required parameters.
This issue is about implementing a facility to define required parameters. The tool should also be able to print a help menu with a list of all parameters.
This test case shows my initial ideas how to design the API
@Test public void requiredParameters() { RequiredParameters required = new RequiredParameters(); Option input = required.add("input").alt("i").help("Path to input file or directory"); // parameter with long and short variant required.add("output"); // parameter only with long variant Option parallelism = required.add("parallelism").alt("p").type(Integer.class); // parameter with type Option spOption = required.add("sourceParallelism").alt("sp").defaultValue(12).help("Number specifying the number of parallel data source instances"); // parameter with default value, specifying the type. Option executionType = required.add("executionType").alt("et").defaultValue("pipelined").choices("pipelined", "batch"); ParameterUtil parameter = ParameterUtil.fromArgs(new String[]{"-i", "someinput", "--output", "someout", "-p", "15"}); required.check(parameter); required.printHelp(); required.checkAndPopulate(parameter); String inputString = input.get(); int par = parallelism.getInteger(); String output = parameter.get("output"); int sourcePar = parameter.getInteger(spOption.getName()); }
Attachments
Issue Links
- is related to
-
FLINK-1525 Provide utils to pass -D parameters to UDFs
- Resolved