无法在Java中使用XmlInputFormat扩展文本InputFormat
我正在尝试使用Hadoop进行字数统计。我想使用XmlInputFormat.class根据XML标记拆分文件。XmlInputFormat.class是 XmlInputFormat.class是对TextInputFormat.class的扩展无法在Java中使用XmlInputFormat扩展文本InputFormat,java,hadoop,extends,word-count,Java,Hadoop,Extends,Word Count,我正在尝试使用Hadoop进行字数统计。我想使用XmlInputFormat.class根据XML标记拆分文件。XmlInputFormat.class是 XmlInputFormat.class是对TextInputFormat.class的扩展 Job job = new Job(getConf()); job.setInputFormatClass(XmlInputFormat.class); 它显示了错误 类型作业中的方法setInputFormatClass(类)不适用于参数(类
Job job = new Job(getConf());
job.setInputFormatClass(XmlInputFormat.class);
它显示了错误
类型作业中的方法setInputFormatClass(类)不适用于参数(类)
但是当我使用
Job job = new Job(getConf());
job.setInputFormatClass(TextInputFormat.class);
为什么我们不能用这个?还是我做错了什么?这似乎是Hadoop版本的问题。您是否检查过您正在使用的XMLInputFormat类是否适合您的Hadoop版本?我认为使用mapred库的Hadoop教程已经过时,应该看看: 在稍微修改了上面的代码之后,我就可以成功地运行XMLInputFormat了
请忽略这个答案。我想原因是因为我使用了不推荐使用的map reduce版本,它使用mapred.* 我也遇到了同样的问题,当我修改其中一个导入时,问题得到了解决: 发件人: 导入org.apache.hadoop.mapreduce.lib.input.TextInputFormat 致:
导入org.apache.hadoop.mapred.TextInputFormat 可能是您在代码中导入了错误的XmlInputFormat.class。同样的情况也发生在我的TextInputFormat.class上,因为我使用了eclipse自动退出的类的错误导入。要导入的正确类是: org.apache.hadoop.mapreduce.lib.input.TextInputFormat