0

エラーの原因は何ですか? Mac Eclipse で正常にコンパイルできます。ただし、CDH4 を実行している Hadoop サーバーにはありません。

root@hadoop]# javac -cp /usr/lib/hadoop/hadoop-common.jar:/usr/lib/hadoop/client-0.20/commons-cli-1.2.jar:/usr/lib/hadoop/client-0.20 /hadoop-core-2.0.0-mr1-cdh4.1.3.jar WordCount.

1. ERROR in WordCount.java (at line 12)
public static class Map extends MapReduceBase implements Mapper <LongWritable, Text, Text, IntWritable> 

タイプ Mapper はジェネリックではありません。引数 < LongWritable, Text, Text, > でパラメータ化することはできません

2. ERROR in WordCount.java (at line 12)
public static class Map extends MapReduceBase implements Mapper <LongWritable, Text, Text, IntWritable> {

構文エラーです。パラメータ化された型は、ソース レベルが 5.0 の場合にのみ使用できます

4

1 に答える 1

1

古いバージョンの Hadoop と新しいバージョンが混在しているようです。また、古い mapreduce API i を使用しています。mapred. 古いバージョンの Hadoop と新しいバージョンをmapreduce混在させずに、新しい API を使用してプログラムを書き直すことをお勧めします。jars

また、Eclipse が使用するように構成されているものとは異なる jre を使用しようとしているようです。java -versionマシンにインストールされている Java のバージョンを確認し、それに応じて Eclipse 設定を変更するために使用します。あなたはに行くことによってそれを行うことができます

Window > Preferences > Java > Installed JRE’s

HTH

于 2013-06-11T19:01:42.570 に答える