如何在pig中使用pigdump()?

vd2z7a6w  于 2021-06-04  发布在  Hadoop
关注(0)|答案(2)|浏览(367)

我正在尝试使用pigdump()存储数据,出现以下错误。

grunt> TxtLdr = load '/wordcountdata.txt' using TextLoader();
grunt> STORE TxtLdr into '/pigdmpOP' using PigDump();       

2014-07-30 19:59:39,102 [main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 1070: Could not resolve PigDump using imports: [, java.lang., org.apache.pig.builtin., org.apache.pig.impl.builtin.]
Details at logfile: /home/Xperttech/pig-0.12.0/pig_1406764753800.log

无论使用何种加载存储方法(textloader/pigstorage/binarystorage)和目标目录(hdfs或本地系统),我都会得到错误
日志文件包含以下数据:
错误1070:无法使用导入解析pigdump:[,java.lang.,org.apache.pig.builtin.,org.apache.pig.impl.builtin.]
未能分析:pig脚本未能分析:pig脚本未能验证:org.apache.pig.backend.executionengine.exeception:错误1070:无法使用导入解析pigdump:[,java.lang.,org.apache.pig.builtin。,org.apache.pig.impl.builtin.]位于org.apache.pig.parser.queryparserdriver.parse(queryparserdriver。java:196)在org.apache.pig.pigserver$graph.validatequery(pigserver。java:1648)在org.apache.pig.pigserver$graph.registerquery(pigserver。java:1621)在org.apache.pig.pigserver.registerquery(pigserver。java:575)在org.apache.pig.tools.grunt.gruntparser.processpig(gruntparser。java:1093)在org.apache.pig.tools.pigscript.parser.pigscriptparser.parse(pigscriptparser。java:501)在org.apache.pig.tools.grunt.gruntparser.parsestoponerror(gruntparser。java:198)在org.apache.pig.tools.grunt.gruntparser.parsestoponerror(gruntparser。java:173)在org.apache.pig.tools.grunt.grunt.run(grunt。java:69)在org.apache.pig.main.run(main。java:541)在org.apache.pig.main.main(main。java:156)在sun.reflect.nativemethodaccessorimpl.invoke0(本机方法)在sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl)。java:39)在sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl。java:25)在java.lang.reflect.method.invoke(方法。java:597)在org.apache.hadoop.util.runjar.main(runjar。java:160)原因:pig脚本未能验证:org.apache.pig.backend.executionengine.exeception:错误1070:无法使用导入解析pigdump:[,java.lang.,org.apache.pig.builtin。,org.apache.pig.impl.builtin.]位于org.apache.pig.parser.logicalplanbuilder.validatefuncspec(logicalplanbuilder)。java:1260)位于org.apache.pig.parser.logicalplanbuilder.buildfuncspec(logicalplanbuilder。java:1245)在org.apache.pig.parser.logicalplangerator.func\ u子句(logicalplangerator。java:5069)在org.apache.pig.parser.logicalplangerator.store\u子句(logicalplangerator。java:7667)在org.apache.pig.parser.logicalplangerator.op\子句(logicalplangerator。java:1580)在org.apache.pig.parser.logicalplangerator.general\语句(logicalplangerator。java:1013)在org.apache.pig.parser.logicalplangerator.statement(logicalplangerator。java:553)在org.apache.pig.parser.logicalplangerator.query(logicalplangerator。java:421)在org.apache.pig.parser.queryparserdriver.parse(queryparserdriver。java:188) ... 还有15个原因:org.apache.pig.backend.executionengine.exeception:错误1070:无法使用导入解析pigdump:[,java.lang.,org.apache.pig.builtin。,org.apache.pig.impl.builtin.]位于org.apache.pig.impl.pigcontext.resolveclassname(pigcontext。java:653)位于org.apache.pig.parser.logicalplanbuilder.validatefuncspec(logicalplanbuilder)。java:1257) ... 还有23个
你能告诉我我做错了什么吗?在尝试实现pigdump()之前是否需要导入任何文件(如果是,怎么做?)
提前谢谢。

z18hc3ub

z18hc3ub1#

我很抱歉文件不完全是最新的。 PigDump 已在0.7版本中删除。此处说明:
我们还删除了org.apache.pig.builtin.binarystorage loader/store函数和org.apache.pig.builtin.pigdump,它们只在流媒体中使用。如果需要的话,可以恢复它们—我们只需要实现相应的输入/输出格式。

q1qsirdb

q1qsirdb2#

pigdump已被移除,但出于您的目的,pigstorage将起作用。
更改:

`STORE TxtLdr into '/pigdmpOP' using PigDump();`

收件人:

`STORE TxtLdr into '/pigdmpOP' using PigStorage(',');`

相关问题