【问题标题】:xml parsing in pig猪中的xml解析
【发布时间】:2013-02-06 06:02:24
【问题描述】:

我有一个要求,我必须解析 xml 以获取所需字段,对所需字段执行操作并使用数据生成 csv。

我查看了 pig 中可用的 XmlLoader,但它似乎也返回了 xml 标签。 我感兴趣的是数据。有什么办法可以做到这一点? 我还需要使用数据生成 CSV。

任何工作样本都会有很大帮助。

【问题讨论】:

  • 您的 XML 的嵌套/层次结构如何,您可以发布一个示例吗?

标签: hadoop apache-pig


【解决方案1】:

您可以使用 REGEX_EXTRACT() 从标签中获取信息,也可以使用 SUBSTRING() 和 REGEX_EXTRACT_ALL。

【讨论】:

    【解决方案2】:

    piggybank jar 在 pig 中提供 xml 加载器

    在 pig 的加载语句中需要使用 XMLLoader 加载。您需要在哪里正确提及您的父标签。

    A = load '/path of the file' using org.apache.pig.piggybank.storage.XMLLoader('parent_tag') as (x:chararray);
    B = foreach A generate REPLACE(x,'[\\n]','') as x;
    

    之后你需要使用 REGEX_EXTRACT_ALL 来提取标签之间的数据

    C = foreach B generate REGEX_EXTRACT_ALL(x,'.*(?:<child_tag1>)([^<]*).*(?:<child_tag2>)([^<]*).*');
    

    更多详情可以参考以下链接

    https://acadgild.com/blog/converting-xml-into-csv-using-pig/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-01
      • 2021-06-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多