我正在尝试使用Hadoop的StreamInputFormat处理xml文件。我正在使用较新的API(Hadoop-0.20.205.0)。但是,似乎Job不支持StreamInputFormat,因为当我尝试通过“job.setInputFormatClass(StreamInputFormat.class)”设置属性时,它正在展示 -
"The method setInputFormatClass(Class<? extends InputFormat>) in the type Job is not pplicable for the arguments (Class<StreamInputFormat>)"
我甚至已经明确下载了“hadoop-streaming-0.20.205.0.jar”并导入了“org.apache.hadoop.streaming”包,仍然没有运气。有什么建议吗?
答案 0 :(得分:1)
您正在尝试将旧的api InputFormat(mapred)与新的API客户端Job(mapreduce)一起使用。
Job.setInputFormat()
期待一个类扩展o.a.h.mapreduce.InputFormat
(新的'mapreduce'API),其中流API全部用旧API('mapred'包)编写,{{1 } {} StreamInputFormat
,后者又扩展o.a.h.mapred.KeyValueTextInputFormat
(两者都是旧的API):