我是Pig的新手,在尝试加载xml文件时遇到了问题。它似乎在导入或解析流式Xml Loader时遇到了问题。要正确配置或导入解析器,需要做些什么?
data = LOAD './data/small.xml'
USING org.apache.pig.piggybank.storage.StreamingXMLLoader(
'Document',
'test'
) AS (
test: {(attr:map[], content:chararray)}
);
这就是错误
org.apache.pig.PigServer - exception during parsing: Error during parsing. Could not resolve org.apache.pig.piggybank.storage.StreamingXMLLoader using imports: [, java.lang., org.apache.pig.builtin., org.apache.pig.impl.builtin.]
Failed to parse: Pig script failed to parse:
更新:我注册了存钱罐,现在它可以解析XMLLoader,但它找不到StreamingXMLLoader
ERROR 1070: Could not resolve org.apache.pig.piggybank.storage.StreamingXMLLoader using imports: [, java.lang., org.apache.pig.builtin., org.apache.pig.impl.builtin.]
发布于 2014-04-16 19:28:51
看起来流式xml加载器只适用于迫击炮的Pig版本。
以下是来自迫击炮的回复:
StreamingXMLLoader目前只在迫击炮的小猪版本中可用,尽管我们确实希望在未来将其贡献出来。对于在迫击炮之外使用Pig,XmlLoader可能是您最好的选择。
发布于 2014-04-16 05:18:55
由于您使用的是来自存钱罐的StreamingXMLLoader
UDF,是的,您将需要在脚本的开头导入。
例如:
REGISTER piggybank.jar;
发布于 2015-06-02 11:44:44
就连我也有类似的问题。我首先通过反编译工具jd-gui验证了类StreamingXMLLoader的存在。您可以在提供的屏幕截图中找到相同的内容。
此后,我遵循了以下示例:http://www.sppavankumar.com/xmlloader-for-pig-big-data/
这对我很管用。
https://stackoverflow.com/questions/23093016
复制相似问题