嗨,我正在尝试使用MapReduce框架解析一个xml文件。我使用jdom解析器解析xml文件。但是,当我在伪节点集群上运行map reduce代码时,它会给出以下错误。
WARN mapred.JobClient: Use GenericOptionsParser for parsing the arguments. Applications
should implement Tool for the same.
INFO input.FileInputFormat: Total input paths to process : 1
INFO util.NativeCodeLoader: Loaded the native-hadoop library
WARN snappy.LoadSnappy: Snappy native library not loaded
INFO mapred.JobClient: Running job: job_201303281220_0016
INFO mapred.JobClient: map 0% reduce 0%
INFO mapred.JobClient: Task Id : attempt_201303281220_0016_m_000000_0, Status : FAILED
Error: org/jdom/JDOMException
INFO mapred.JobClient: Task Id : attempt_201303281220_0016_m_000000_1, Status : FAILED
Error: org/jdom/JDOMException
INFO mapred.JobClient: Task Id : attempt_201303281220_0016_m_000000_2, Status : FAILED
Error: org/jdom/JDOMException
INFO mapred.JobClient: Job complete: job_201303281220_0016
INFO mapred.JobClient: Counters: 7
INFO mapred.JobClient: Job Counters
INFO mapred.JobClient: SLOTS_MILLIS_MAPS=7541
INFO mapred.JobClient: Total time spent by all reduces waiting after reserving slots
(ms)=0
INFO mapred.JobClient: Total time spent by all maps waiting after reserving slots
(ms)=0
INFO mapred.JobClient: Launched map tasks=4
INFO mapred.JobClient: Data-local map tasks=4
INFO mapred.JobClient: SLOTS_MILLIS_REDUCES=0
INFO mapred.JobClient: Failed map tasks=1
我试着下载jdom1.xjars,但是仍然没有得到同样的错误。如果有人能提出一些建议,那将是一个很大的帮助。
注意:我能够运行各种示例,如单词计数、pi,因此我认为我的集群是正确建立的。
提前谢谢。
1条答案
按热度按时间x4shl7ld1#
您需要确认并确保您的输入文件每行有一个xml文档(例如,您的xml中没有换行符)?很可能map()方法是单行的(您使用的是fileinputformat),但是对于嵌入的换行符,这些换行符只包含部分xml文档。
例如,如果文件如下所示:
然后,将为五行中的每一行调用一次map()方法。没有一行包含有效的xml文档。dom解析错误会被抛出5次,即使您的文件确实包含有效的xml