0

我最近才开始学习 hadoop 1.1.2。

当我开始运行 WordCount 案例时,这两种代码都很好。

命令A:

hadoop jar /usr/local/hadoop/hadoop-examples-1.1.2.jar WordCount input output

命令 B:

hadoop jar /usr/local/hadoop/hadoop-examples-1.1.2.jar wordcount input output

唯一的区别是主类名wordcount

所以我的问题是天气主类名是否wordcount默认不区分大小写?

更新

@Amar 说WordCount不能正常工作,我已经检查过他是对的。我被这里的文件误导了。官方文档需要更新。

但我仍然不知道为什么一定是这样wordcount

4

2 回答 2

3

尝试在没有 的情况下运行wordcount,例如: hadoop jar /usr/local/hadoop/hadoop-examples-1.1.2.jar input output

您将收到如下信息:

Unknown program 'input' chosen.
Valid program names are:
  aggregatewordcount: An Aggregate based map/reduce program that counts the words in the input files.
  aggregatewordhist: An Aggregate based map/reduce program that computes the histogram of the words in the input files.
  dbcount: An example job that count the pageview counts from a database.
  grep: A map/reduce program that counts the matches of a regex in the input.
  join: A job that effects a join over sorted, equally partitioned datasets
  multifilewc: A job that counts words from several files.
  pentomino: A map/reduce tile laying program to find solutions to pentomino problems.
  pi: A map/reduce program that estimates Pi using monte-carlo method.
  randomtextwriter: A map/reduce program that writes 10GB of random textual data per node.
  randomwriter: A map/reduce program that writes 10GB of random data per node.
  secondarysort: An example defining a secondary sort to the reduce.
  sleep: A job that sleeps at each map and reduce task.
  sort: A map/reduce program that sorts the data written by the random writer.
  sudoku: A sudoku solver.
  teragen: Generate data for the terasort
  terasort: Run the terasort
  teravalidate: Checking results of terasort
  wordcount: A map/reduce program that counts the words in the input files.

所以基本上第一个参数不是主类名称,而是您要运行的示例程序的名称。

所以,它甚至不应该接受WordCount,它不适合我。以下命令的结果与上图相同:

bin/hadoop jar hadoop-examples-1.0.4.jar WordCount LICENSE.txt output


供您参考:主类已在META-INF/MANIFEST.MFjar 中包含的文件中定义: Main-Class: org/apache/hadoop/examples/ExampleDriver

于 2013-04-05T06:54:15.643 回答
0

它当然是区分大小写的,因为它试图加载类WordCountwordcount从 jar 中加载,具体取决于大小写。由于 Java 在这方面区分大小写,因此hadoop jar.

于 2013-04-05T05:15:47.913 回答