Apache pig apachepig脚本中的XML处理

Apache pig apachepig脚本中的XML处理,apache-pig,Apache Pig,我有一个XML文件,它在一行中包含数据(尽管有所有的开始和结束标记)。我尝试通过PIG脚本处理此文件,但输出仍然为空。当我将其转换为正确缩进的文件时,我可以在输出系统日志中看到输出。文件就像 <HEADER><TAG><VAL1>"value"</VAL1><VAL2>"value2"</VAL2></TAG></HEADER> “值”“值2” 这可能吗 A = LOAD 'test.xml'

我有一个XML文件,它在一行中包含数据(尽管有所有的开始和结束标记)。我尝试通过PIG脚本处理此文件,但输出仍然为空。当我将其转换为正确缩进的文件时,我可以在输出系统日志中看到输出。文件就像

<HEADER><TAG><VAL1>"value"</VAL1><VAL2>"value2"</VAL2></TAG></HEADER>
“值”“值2”
这可能吗

A =  LOAD 'test.xml' using org.apache.pig.piggybank.storage.XMLLoader('TAG') as (x:chararray);
DESCRIBE A;

B = foreach A GENERATE FLATTEN(REGEX_EXTRACT_ALL(x,<TAG>\\*s<VAL1>(.*)</VAL1>\\s*<VAL2>(.*)</VAL2></TAG>))
As 
val1:chararray,
val2:chararray)
dump B;
A=使用org.apache.pig.piggybank.storage.XMLLoader('TAG')作为(x:chararray)加载'test.xml';
描述一个例子;
B=为每个A生成展平(正则表达式提取所有(x,\\*s(.*)\\s*(.*))
作为
val1:chararray,
val2:chararray)
垃圾场B;

这里的一般答案是不要使用正则表达式来解析XML如果我使用Xpath,那么我将得到以下错误错误1000:解析过程中的错误。无法使用导入解析org.apache.pig.piggybank.evaluation.xml.XPath:[,java.lang.,org.apache.pig.builtin.,org.apache.pig.impl.builtin.]您必须使用piggybank.jar并在脚本中注册才能使用XPath。下载piggybank.jar并按如下方式注册,REGISTER/path/piggybank.jar定义XPath org.apache.pig.piggybank.evaluation.xml.XPath();