gpt4 book ai didi

xml - Hadoop Pig XPath返回空属性值

转载 作者:行者123 更新时间:2023-12-02 21:26:08 24 4
gpt4 key购买 nike

我正在使用cloudera Hadoop 2.6,Pig 0.15版本。

我正在尝试从xml文件提取数据。在下面您可以看到xml文件的一部分。

<product productID="MICROLITEMX1600LAMP">
<basicInfo>
<category lang="NL" id="OT1006">Output Accessoires</category>
</basicInfo>
</product>

我可以使用XPath()函数转储节点值,但不能转储属性值。您可以看到下面的代码,该代码返回空元组而不是productID。
    DEFINE XPath org.apache.pig.piggybank.evaluation.xml.XPath();   
allProducts = LOAD '/pathtofile/sample.xml' USING org.apache.pig.piggybank.storage.XMLLoader('product') AS (data:chararray);
productsOneByOne = FOREACH allProducts GENERATE XPath(data, 'product/@productID') AS productid:chararray
dump productsOneByOne;

请帮助我解决此问题。

最佳答案

How to extract xml attributes using Xpath in Pig?添加更多

XPath.java中存在错误,因为它忽略了第4个参数。

通过在XPath.java中添加以下代码,可以解决已编译的问题。 http://svn.apache.org/repos/asf/pig/branches/branch-0.15/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/xml/XPath.java

if(input.size() > 3){
ignoreNamespace=input.get(3);
}

以上代码应在之前添加
if (ignoreNamespace) {
xpathString = createNameSpaceIgnoreXpathString(xpathString);
}

关于xml - Hadoop Pig XPath返回空属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35887260/

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