使用HADOOP mapreduce pgm计算XML中的每个文本值

使用HADOOP mapreduce pgm计算XML中的每个文本值,xml,hadoop,mapreduce,Xml,Hadoop,Mapreduce,我是Hadoop新手。我需要用java中的mapreduce程序解析一个小xml文件。我正在使用hadoop 1.0.4 假设我的xml文件是 <configuration> <property> <name>adv</name> <value>a</value> <dup>school</dup> </property> <property> <name>

我是Hadoop新手。我需要用java中的mapreduce程序解析一个小xml文件。我正在使用hadoop 1.0.4 假设我的xml文件是

<configuration>
<property>
 <name>adv</name>
 <value>a</value>
 <dup>school</dup>
</property>
<property>
 <name>aghy</name>
 <value>a</value>
 <dup>bk</dup>
</property>
</configuration>

副词。
A.
学校
阿希
A.
bk
我需要这样的输出 adv 1 a 2 aghy 1学校1 bk 1

我如何编辑代码。任何可行的想法。
请帮帮我。

你需要一些东西:

  • 一种用于处理XML文件的输入格式,建议您查看
  • 传递给映射器(SAX或DOM)的XML字符串的解析器可能定义一些要绑定的JAXB对象
以及一些有用的链接:


到目前为止您尝试了什么?到目前为止,我在中尝试了pi estimator和wordcount.java示例。但是我不知道xml解析…如何开始,如果您只使用XMLFileInputFormat,那么您可以将代码复制到您自己的代码库中,然后继续normal@studhadoop如果您现在对Maven不满意,那么您可以添加所有这些依赖项由您自己完成(比如手动包含所有jar文件)@studhadoop您所引用的代码应该是使输入格式正常工作所需的全部代码-您仍然有什么问题(具体来说)您不需要安装Mahout-只需将XmlInputFormat类复制到您代码库中它自己的类文件中即可(或者,如果您使用的是旧的mapred api,请从Mahout链接复制该版本)。然后引用它并按正常方式编译(就像它是代码库的一部分)第177行:
context.write(新文本(propertyName.trim());新文本(propertyValue.trim());