Hadoop Job API是否支持StreamInputFormat?

时间:2012-06-19 12:57:54

标签: xml hadoop mapreduce

我正在尝试使用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”包,仍然没有运气。有什么建议吗?

1 个答案:

答案 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):