【问题标题】:Pig output as XML猪输出为 XML
【发布时间】:2013-08-12 15:06:21
【问题描述】:

想知道是否有其他人遇到过这个问题,以及它是如何解决的。

我的 Pig 脚本“需要”输出为 XML。主体构建 XML 如下:

<Item><Val1>abc</Val1><Val2>qwe</Val2></Item>

<Item><Val1>tre</Val1><Val2>bnm</Val2></Item>

问题在于它不是有效的 XML。我需要这样包装:

<Items>
<Item>...</Item>
</Items>

但是如何在 Pig/Hadoop 中做到这一点?输出文件被拆分为多个 part-XXXXX 文件,因此只能在合并时完成。

或者也许 XML 是完全错误的方法,它总是 JSON!

谢谢

邓肯

【问题讨论】:

  • 您打算如何使用生成的 XML 文件?在 Hadoop 中使用它并不容易。因此,您可能计划在 HDFS 之外使用它。您必须将其导出到您的本机文件系统。如果你的 XML 结构简单,可以在那个时候添加 行。
  • 生成的输出有多大(合并前part-XXXXX 文件有多大)?
  • 我将在 Hadoop 之外使用它。 Pig 将生成 XML 文件,然后由传统技术使用。我不希望它很大,可能只有几 GB。但是如果输出是(理论上)TB 怎么办?

标签: xml hadoop apache-pig


【解决方案1】:

这是一种可能的解决方案。您可以在 STORE 之前立即执行 GROUP ALL 以确保仅输出一个 part-XXXXX 文件,这将让您使用所需的 &lt;Items&gt; 标记包装整个 XML 块。

【讨论】:

    猜你喜欢
    • 2017-04-23
    • 1970-01-01
    • 1970-01-01
    • 2012-11-25
    • 1970-01-01
    • 2013-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多