java - 尝试使用HCatStorer()将数据存储到Hive数据库时遇到问题

标签 java hadoop hive apache-pig hcatalog

我正在使用PIG使用HCatalog将表数据存储到配置单元数据库中。我能够在PIG grunt shell中加载和转储数据,但是当我尝试使用以下命令将加载的数据存储到我创建为myweather.weathertable1(myweather-database name,weathertable1 -table name1)的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)

解决上述问题的任何帮助都是非常可取的。
提前致谢。

最佳答案

请尝试使用-useHCatalog选项启动pig。它将加载必要的 jar 。请参阅HCat docs

关于java - 尝试使用HCatStorer()将数据存储到Hive数据库时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31363292/

相关文章:

java - RecyclerView 中的多个 TextView。怎么做?

r - 在hadoop系统中实现R程序

hive - Hive 中的行号功能

hadoop - 避免以编程方式使用创建的上下文启动 HiveThriftServer2

java - rxJava : composing single with completable and return single

java - 使用带有 'SELECT OBJECt(var) FROM EntityName var 的 @NamedQuery 实现查询

java - 在 Java 中向 Rally 添加新用户

eclipse - 如何在Ubuntu上安装的Hadoop上减少连接/运行 map

amazon-web-services - 我们如何在开源Spark和Hortonworks的Hadoop沙箱中使用集群?

hadoop - 为什么 Hive 中的 Fetch 任务比 Map-only 任务运行得更快?