我刚开始学习Apache光束。对于字数示例,请点击此处:https://beam.apache.org/get-started/wordcount-example/#wordcount-example
有些事情我不明白,我也无法通过谷歌搜索找到答案。
-
命令行参数是 --inputFile 和 --output。但是,我找不到有关可用参数列表的任何参考,也无法将这些参数链接到源代码中的任何位置:Git 源代码。有人可以解释一下这些命令行参数如何/为什么工作吗?
-
在源代码的 WordCountOptions 界面中,有四种方法:
字符串 getInputFile((;
void setInputFile(字符串值(;
字符串 getOutput((;
void setOutput(String value(;
它们不由任何类实现,也没有默认实现。因此,我想知道为什么他们可以获取/设置输入和输出?
这些问题可能非常简单明了,但作为新手,它非常令人困惑,并且在线缺乏解释。谢谢!
我想我理解这个问题。这比我想象的要多,它还涉及一些新手不明显的其他概念。我在这里写下了我的理解,希望它也能帮助其他困惑的初学者。
-
命令行参数实际上是使用命令
--inputFile=pom.xml
和--output=counts
设置的。它遵循此处指定的默认解析:fromArgs -
名为
inputFile
的属性由下面的 getter 和 setter 方法定义:String getInputFile();
void setInputFile(String value);
同样,名为
output
的属性由下面的 getter 和 setter 方法定义:String getOutput();
void setOutput(String value);
请参阅此处的"定义您自己的管道选项"部分:接口管道选项
因此,可以将inputFile
(即 pom.xml(和output
(即计数(的参数值传递给属性并添加到选项中。代码options.getInputFile()
获取命令行中指定的inputFile
值,options.getOutput()
获取output
的值。