我正在使用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实现,如上