我正在使用hadoop map-reduce。我必须处理.xml文件中的数据,将其解析并将输出存储到数据库中。

当我需要将xml传递给mapper时,我发现默认情况下hadoop不提供XmlInputFormat.class,我们必须使用 mahout的XmlInputFormat 来实现。

我想知道Xml何时被广泛使用,为什么hadoop尚未为此提供XmlInputFormat,而不是通过扩展TextInputFormat来显式创建自定义XmlInputFormat?

最佳答案

好吧,即使xml被广泛使用,为技术提供具有特殊功能的框架可能也不是一个好主意。可能像是背书。在较高的层次上,Mapreduce旨在接受不同的格式。实际上,由于与xml相比,它的大小特征使json得以广泛使用。甚至我也遇到类似的问题。

但是由用户决定映射的输入是否减少并可以使用不同的解析器(对于json是 jackson 或gson,对于xml是JAXB)还是使用RecordReader实现,如上

08-25 04:13