【发布时间】:2018-08-25 05:39:50
【问题描述】:
例如我有一个 hadoop 字数统计程序(来自互联网) , WordCount.java:
public static class WordCount{
public static void main(String[] args)throws Exception{
....
Job job = Job.getInstance(new Configuration(), "word count");
job.setJarByClass(WordCount.class); //Why?
}
}
C 编译成 jar 并像这样提交给 yarn:
hadoop jar wordcount.jar WordCount [input-hdfs] [output-hdfs]
在这个命令中,我们指定了:
(1) jar 名 (2) 类名
只要
hadoop 已经从其命令行中知道“WordCount”是 wordcount.jar 中的类名。
WordCount.java的公共类总是WordCount,这是java标准吧?
那打电话有什么意义
setJarByClass(WordCount.class)
在我看来这是多余的。为什么需要此声明?谢谢
【问题讨论】: