在apache pig中使用流式xml加载程序时遇到问题

zvokhttg  于 2021-06-21  发布在  Pig
关注(0)|答案(4)|浏览(567)

我是新来的Pig和有困难只是试图加载一个xml文件。导入或解析流式xml加载程序似乎有问题。我需要什么来正确配置或导入解析器?

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:

更新:我注册了piggybank,现在它可以解析xmloader,但是找不到streamingxmloader

ERROR 1070: Could not resolve org.apache.pig.piggybank.storage.StreamingXMLLoader using imports: [, java.lang., org.apache.pig.builtin., org.apache.pig.impl.builtin.]
irlmq6kh

irlmq6kh1#

就连我也有类似的问题。我首先通过反编译工具jdgui验证了类streamingxmloader的存在。您可以在提供的屏幕截图中找到相同的内容。
此后,我遵循以下示例:http://www.sppavankumar.com/xmlloader-for-pig-big-data/
它对我有用。

ehxuflar

ehxuflar2#

看起来流式xml加载器只在mortar版本的pig上可用。
以下是迫击炮的回复:
streamingxmloader目前只在mortar版本的pig中可用,尽管我们确实希望将来能提供它。对于在迫击炮外使用pig,xmlloader可能是最好的选择。

ubof19bj

ubof19bj3#

既然你用的是 StreamingXMLLoader 是的,你需要在脚本开始时导入。
例如

REGISTER piggybank.jar;
axkjgtzd

axkjgtzd4#

转到pig lib并检查apache pig xmloader master,如果没有下载,则将其放入pig lib位置
我的是:
/usr/local/hadoop/pig/lib/apache pig xmloader主程序

相关问题