gpt4 book ai didi

hadoop - Pig - 解析 XML 文件

转载 作者:可可西里 更新时间:2023-11-01 15:40:11 24 4
gpt4 key购买 nike

我想在 pig 中解析这样的 XML 文件:

<person>
<name>person1</name>
<exp>blablabla</exp>
<exp>blablabla</exp>
</person>

<person>
<name>person2</name>
<exp>blablabla</exp>
<exp>blablabla</exp>
<exp>blablabla</exp>
</person>

我已经写了一个 JAVA 程序,它产生了这个输出:

  • 第一个文件,其中包含人名与其 ID 之间的映射:

1,person1

2,person2

然后我可以使用这个 pig 命令将文件加载到一个变量中:

A = load '...' AS (id_person:int, name:chararray);

  • 第二个文件,用于映射人员及其经历

1,1,blablabla

1,2,blablabla

2,1,blablabla

2,2,blablabla

2,3,blablabla

我以这种方式加载文件:

B = load '...' AS (id_person:int, id_exp:int, text:chararray);

我想做同样的事情,但只使用 pig 。可能吗?

谢谢

最佳答案

您可以使用 Piggybank 的 org.apache.pig.piggybank.storage.XMLLoader 加载 xml 数据。我不确定我是否了解您想要实现的目标。如果输出中的数字与包内的位置相关(第二个文件中的 id 和第二个字段),则可以使用 datafu 的包函数 Enumerate ( datafu.pig.bags.Enumerate ) 来枚举包内的元素然后生成并存储它们。

关于hadoop - Pig - 解析 XML 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17271631/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com