【问题标题】:Can't Store pig relation into Hbase无法将猪关系存储到 Hbase
【发布时间】:2013-11-14 07:12:53
【问题描述】:

您好,我正在尝试将猪关系存储到 HBase。

store result INTO 'hbase://hourlyAggregation' using org.apache.pig.backend.hadoop.hbase.HBaseStorage('countDetails:ansCount countDetails:divCount countDetails:unansCount countDetails:engCount');

这在本地运行良好。当我尝试在 mapred 模式下运行 pig 时,我的工作失败了,并且我的日志没有显示错误

 ERROR org.apache.pig.tools.grunt.GruntParser - ERROR 2244: Job failed, hadoop does not return any error message
Details at logfile: /home/HadoopUser/pig_1384412383791.log

Pig Stack Trace
---------------
ERROR 2244: Job failed, hadoop does not return any error message

org.apache.pig.backend.executionengine.ExecException: ERROR 2244: Job failed, hadoop does not return any error message
    at org.apache.pig.tools.grunt.GruntParser.executeBatch(GruntParser.java:119)
    at org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:172)
    at org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:144)
    at org.apache.pig.tools.grunt.Grunt.exec(Grunt.java:90)
    at org.apache.pig.Main.run(Main.java:500)
    at org.apache.pig.Main.main(Main.java:107)
================================================================================

我的个人资料如下

export JAVA_HOME=/home/hadoop/jdk1.6.0_39
export HADOOP_HOME=$MY_HOME/hadoop-0.20.2-cdh3u4
export CLASSPATH=$JAVA_HOME/lib/tools.jar:.
export HIVE_HOME=$MY_HOME/hive-0.7.1-cdh3u4
export PIG_HOME=$MY_HOME/pig-0.8.1-cdh3u4
export HBASE_HOME=$MY_HOME/hbase-0.90.6-cdh3u4
export PIG_CLASSPATH=”`${HBASE_HOME}/bin/hbase classpath`:$PIG_CLASSPATH”

请帮帮我

我什至尝试在 pig_home/lib 中注册 zookeeper 和 hbase 的 jars

JT 日志

14-Nov-2013 14:48:29 (17sec)


java.lang.RuntimeException: could not instantiate 'org.apache.pig.backend.hadoop.hbase.HBaseStorage' with arguments '[countDetails:ansCount countDetails:divCount countDetails:unansCount countDetails:engCount]'
    at org.apache.pig.impl.PigContext.instantiateFuncFromSpec(PigContext.java:502)
    at org.apache.pig.backend.hadoop.executionengine.physicalLayer.relationalOperators.POStore.getStoreFunc(POStore.java:218)
    at org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigOutputCommitter.getCommitters(PigOutputCommitter.java:85)
    at org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigOutputCommitter.<init>(PigOutputCommitter.java:68)
    at org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigOutputFormat.getOutputCommitter(PigOutputFormat.java:278)
    at org.apache.hadoop.mapred.Task.initialize(Task.java:511)
    at org.apache.hadoop.mapred.MapTask.run(MapTask.java:306)
    at org.apache.hadoop.mapred.Child$4.run(Child.java:270)

【问题讨论】:

  • 能否也发布相应的 Hadoop 任务日志?您是否确保 Pig 和 HBase 正确启动并运行?
  • 当我在本地模式下运行脚本时,我可以在我的 HBase 表中看到值

标签: hadoop hbase hdfs apache-pig


【解决方案1】:

在 PIG/lib 中注册 hbase、zookeeper jar 和在 hbase lib 中注册 guava jar 确实有效,感谢 Lorand Bendig 的支持。

【讨论】:

  • 你能补充一下你是如何注册的吗?您是否将 JAR 复制到该位置?哪些 JAR?
  • 如果尝试注册一些库,但还是有同样的问题:REGISTER /XXX/hbase/lib/hbase-common-1.0.3.jar REGISTER /XXX/hbase/lib/hbase-client -1.0.3.jar 注册 /XXX/hbase/lib/hbase-server-1.0.3.jar 注册 /XXX/hbase/lib/hbase-protocol-1.0.3.jar 注册 /XXX/hbase/lib/htrace- core-3.1.0-incubating.jar 注册 /XXX/hbase/lib/zookeeper-3.4.6.jar 注册 /XXX/hbase/lib/guava-12.0.1.jar 注册 /XXX/hbase/lib/hbase-hadoop2 -compat-1.0.3.jar 注册 /XXX/hbase/lib/hbase-annotations-1.0.3.jar 注册 /XXX/hbase/lib/hbase-thrift-1.0.3.jar
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-05-10
  • 1970-01-01
  • 2016-02-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多