在 Hadoop 中处理复杂的 XML 以提取数据

Posted

技术标签:

【中文标题】在 Hadoop 中处理复杂的 XML 以提取数据【英文标题】:Processing complex XML in Hadoop to extract data 【发布时间】:2014-01-09 14:42:50 【问题描述】:

我想在 Hadoop 中处理一个格式化的 XML,它非常复杂和庞大,并且还包含循环。

我尝试了以下选项:

    将 XML 作为单列加载到 Hive 中并使用 XPATH 查询。 使用 SerDe 创建 Hive 表。 使用 XMLLoader 使用 PIG 加载 XML。

选项 1 是可能的,但如果在 XML 中获取非常深的数据就会变得困难。

对于选项 2 和 3,Hive SerDe 和 Pig Loader 需要显式定义 Schema,因此无法完成。

还有其他方法吗?

【问题讨论】:

【参考方案1】:

您可以使用 pig 和 Pig UDF 从 XML 文件中提取数据。对于提取数据,您可以使用正则表达式或 Xpath。您可以使用 piggybank 进行多项操作。

【讨论】:

以上是关于在 Hadoop 中处理复杂的 XML 以提取数据的主要内容,如果未能解决你的问题,请参考以下文章

MapReuce中对大数据处理最合适的数据格式是什么?

scrapy框架Selector提取数据

通过Hadoop安全部署经验总结,开发出以下十大建议,以确保大型和复杂多样环境下的数据信息安全。

在 hadoop / hive 中处理损坏的 gzip 文件

Spark适用场景以及与Hadoop MapReduce优势对比

spark与hadoop相比,存在哪些缺陷