xml文件输入Map/reduce hadoop windows服务器

izj3ouym  于 2021-06-03  发布在  Hadoop
关注(0)|答案(2)|浏览(292)

我正在使用安装在windows服务器上的hadoop平台(由hortonworks提供),并用c#对map/reduce文件进行编码。
我有一个输入文件夹,里面有10万个xml文件。我想读取每个xml文件并将每个标记写在一行中。请按照下面的例子。
输入:

<Person>
    <a>1</a>
    <b>2</b>
    <c>3</c>
</Person>

输出1、2、3。。。。
你能提供我的输入,我应该如何读取数据,截至目前。mapper提供了每个文件的单个文件,在这些文件中很难解析单个标记。

9o685dep

9o685dep1#

您的第一个任务是找到一种读取xml文件并将其提供给mr作业的方法,因为没有可用于xml文件的内置输入格式。看看这个,如果你需要一些帮助(没有亲自测试他们,但他们看起来不错我)。在作业配置过程中,您将获得start和end标记中的内容作为Map器中的值。提取所需的值并生成输出。hth公司

cgyqldqp

cgyqldqp2#

我认为您应该研究xmlinputformat来处理mapreduce中的xml文件。您可以指定开始标记和结束标记,在您的情况下分别是和。请查看这个xmlinputformat链接。现在在每个map函数中,您将获得值(即您在问题中提到的值)作为您的单个记录。现在您可以使用xmldomparser(检查这个链接xmldomparser示例)或xmlsax parser xmlsax parser示例来检索所需的子值,并可以将它们作为最终输出。

相关问题