关于理解 Apache beam 的 wordCount 示例的问题

Questions about understanding wordCount example of Apache beam

我刚开始学习 Apache Beam。对于此处的 wordCount 示例:https://beam.apache.org/get-started/wordcount-example/#wordcount-example

有些事情我不明白,也无法通过谷歌搜索找到答案。

  1. 命令行参数是--inputFile 和--output。但是,我找不到任何关于可用参数列表的参考,而且我无法 link 这些参数到源代码中的任何地方:Git source code。有人可以解释一下 how/why 那些命令行参数有效吗?

  2. 在源码中,在WordCountOptions接口中,有四种方法:

    String getInputFile();

    void setInputFile(字符串值);

    String getOutput();

    void setOutput(字符串值);

    它们没有被任何 class 实现,也没有默认实现。结果,我想知道为什么他们可以get/set输入输出?

这些问题可能很简单明了,但是作为一个新手,很迷茫,网上也缺乏解释。非常感谢!

我想我理解了这个问题。比我想象的要多,还涉及到一些其他新手不太明显的概念。把自己的理解写在这里,希望能帮助到同样迷茫的新手

  1. 命令行参数实际上是用命令--inputFile=pom.xml--output=counts设置的。它遵循此处指定的默认解析:fromArgs

  2. 名为 inputFile 的 属性 由以下 getter 和 setter 方法定义:

    String getInputFile();

    void setInputFile(String value);

    类似地,名为 output 的 属性 由下面的 getter 和 setter 方法定义:

    String getOutput();

    void setOutput(String value);

    请参阅此处的定义您自己的管道选项部分:Interface PipelineOptions

因此,inputFile(即 pom.xml)和 output(即计数)的参数值可以传递给 属性 并添加到选项。代码options.getInputFile()获取命令行指定的inputFile值,options.getOutput()获取output.

的值