映射器类型不是泛型的;它不能用参数<LongWwriteable,Text,Text,IntWriable>进行参数化



出现错误的原因是什么?我能够成功地在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 words .

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

类型映射器不是泛型;它不能用参数<长文,文字,文字,>

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

语法错误,参数化类型仅在源级别为5.0时可用

似乎你把一些旧版本的Hadoop和新版本的Hadoop混在一起了。此外,您还使用了旧的mapreduce API i. mapred。我建议您使用较新的API(即mapreduce)重新编写程序,而不要将旧版本的jars与新版本混合。

而且,看起来您正在尝试使用与Eclipse配置使用的jre不同的jre。使用java -version检查机器上安装的java版本,并相应地更改Eclipse首选项。你可以通过

Window > Preferences > Java > Installed JRE’s

HTH

相关内容

  • 没有找到相关文章

最新更新