在 apache pig 中解析 XML 和 HTML
Posted
技术标签:
【中文标题】在 apache pig 中解析 XML 和 HTML【英文标题】:Parse XML and HTML in apache pig 【发布时间】:2013-03-04 09:42:26 【问题描述】:我们如何使用 apache pig 运行 XML。我尝试了 piggybank.storage.XMLLoader 函数,但它对我不起作用。我只在本地模式下运行猪作业。没有错误,但它没有运行。
有没有办法在 apache pig 中解析 html 页面。
请帮帮我。
提前致谢
【问题讨论】:
一般来说,用 XML 解释器解析 HTML 无论如何都不起作用。只有非常、非常、非常、非常少的 HTML 文档是格式良好的 XML。甚至大多数 HTML5 都不是。这些是不同的规格/格式。 【参考方案1】:您需要使用带有参数的 org.apache.pig.piggybank.storage.XMLLoader()。 和 Xpath 也是如此。我发现this 有帮助。
【讨论】:
【参考方案2】:请尝试在 MR 模式下运行脚本。因为许多功能/操作仅在 MR 模式下才能正常工作。
【讨论】:
【参考方案3】:试试这个代码:
register <PIG_HOME>/contrib/piggybank/java/piggybank.jar;
A= LOAD '/xmlfile' USING org.apache.pig.piggybank.storage.XMLLoader('<XML_tag>');
我所说的 pig MR 模式是指在 MR 模式下而不是在本地模式下运行 pig(即 pig -x local)。
希望对你有帮助。
【讨论】:
谢谢 gargi,你是对的。我没有在本地模式下运行 pig 脚本。我有 4 个节点集群(3+1)用于测试。只有我试过相同的代码。它可以工作,但是我们如何在给定的 XML 文件中获取属性和嵌套节点。 据我所知,在这种情况下,我们将不得不使用自定义解析器。以上是关于在 apache pig 中解析 XML 和 HTML的主要内容,如果未能解决你的问题,请参考以下文章