2015-07-12 87 views
0

我使用PIG将表数据存储到使用HCatalog的配置单元数据库中。我能够加载和转储数据在PIG咕噜外壳,但是当我试图将存储加载的数据到我创建为myweather.weathertable1(myweather-database名称,weathertable1 -table name1)使用以下命令尝试使用HCatStorer将数据存储到Hive数据库时遇到问题()

STORE A INTO 'myweather.weathertable1' USING org.apache.hcatalog.pig.HCatStorer(); 

我遇到了以下错误:

2015-07-11 20:20:09,056 [main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 1070: Could not resolve org.apache.hcatalog.pig.HCatStorer using imports: [, java.lang., org.apache.pig.builtin., org.apache.pig.impl.builtin.] 
Details at logfile: /X/Y/pig_1436660283762.log 

和日志文件说:

ERROR 1070: Could not resolve org.apache.hcatalog.pig.HCatStorer using imports: [, java.lang., org.apache.pig.builtin., org.apache.pig.impl.builtin.] 

Failed to parse: Pig script failed to parse: 
<line 4, column 45> pig script failed to validate: org.apache.pig.backend.executionengine.ExecException: ERROR 1070: Could not resolve org.apache.hcatalog.pig.HCatStorer using imports: [, java.lang., org.apache.pig.builtin., org.apache.pig.impl.builtin.] 
     at org.apache.pig.parser.QueryParserDriver.parse(QueryParserDriver.java:196) 
     at org.apache.pig.PigServer$Graph.validateQuery(PigServer.java:1660) 
     at org.apache.pig.PigServer$Graph.registerQuery(PigServer.java:1633) 
     at org.apache.pig.PigServer.registerQuery(PigServer.java:587) 
     at org.apache.pig.tools.grunt.GruntParser.processPig(GruntParser.java:1093) 
     at org.apache.pig.tools.pigscript.parser.PigScriptParser.parse(PigScriptParser.java:501) 
     at org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:198) 
     at org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:173) 
     at org.apache.pig.tools.grunt.Grunt.run(Grunt.java:69) 
     at org.apache.pig.Main.run(Main.java:541) 
     at org.apache.pig.Main.main(Main.java:156) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:606) 
     at org.apache.hadoop.util.RunJar.run(RunJar.java:221) 
     at org.apache.hadoop.util.RunJar.main(RunJar.java:136) 

固定上述问题的任何帮助,可能是非常可观的。 在此先感谢。

+0

可能出现[在运行HCatalog时发生错误]的副本(http://stackoverflow.com/questions/31295980/getting-an-error-on-running-hcatalog) –

回答

0

请尝试用-useHCatalog选项开始养猪。它将加载必要的罐子。请参阅HCat docs

+1

@Fred感谢您的回复。在发布此任务之前,我曾使用过pig-useHCatalog。我最终通过用org.apache.hive.hcatalog.pig.HCatStorer()替换org.apache.hcatalog.pig.HCatStorer()来解决问题。可悲的是,Apache配置单元文档还没有更新这个错误(https://cwiki.apache.org/confluence/display/Hive/HCatalog+LoadStore#HCatalogLoadStore-The-useHCatalogFlag)。 – Mohana

相关问题