【发布时间】:2015-06-17 09:01:56
【问题描述】:
我在运行一个简单的猪脚本以使用 HBaseStorage 将数据导入 HBase 时遇到一些困难
我遇到的错误是由:
Caused by: <file demo.pig, line 14, column 0> pig script failed to validate: java.lang.RuntimeException: could not instantiate 'org.apache.pig.backend.hadoop.hbase.HBaseStorage' with arguments '[rdf:predicate rdf:object]'
Caused by: java.lang.NoSuchMethodError: org.apache.hadoop.hbase.client.Scan.setCacheBlocks(Z)V
at org.apache.pig.backend.hadoop.hbase.HBaseStorage.initScan(HBaseStorage.java:427)
at org.apache.pig.backend.hadoop.hbase.HBaseStorage.<init>(HBaseStorage.java:368)
at org.apache.pig.backend.hadoop.hbase.HBaseStorage.<init>(HBaseStorage.java:239) 13_21.51.28.tar.gz
... 29 more
根据其他问题和线程,此问题的主要响应/答案是注册 HBaseStorage 引用所需的适当 jar。让我感到困惑的是,在给定适当的 Pig 函数的情况下,我应该如何识别所需的 JAR。
我什至尝试打开 hbase 和 pig 文件夹下的各种 jar 文件,以确保在 pig 脚本中注册了适当的类。
例如,由于java.lang.NoSuchMethodError是由org.apache.hadoop.hbase.client.Scan.setCacheBlocks(Z)V引起的
我专门导入了包含org.apache.hadoop.hbase.client.Scan的jar,没有用。
Pig 的文档没有提供任何我可以参考的明显链接和帮助。
我正在使用 Hadoop 2.7.0、HBase 1.0.1.1.、Pig 0.15.0。
如果您需要任何其他说明,请随时再次询问我。如果有人可以帮助我解决这个问题,我将不胜感激。
另外,从头开始安装 Hadoop 和相关软件更好,还是直接获取可用的 Hadoop 捆绑包之一更好?
【问题讨论】:
-
您解决了这个问题吗?将 hbase 从 0.98.3 升级到 1.0.1.1 后,我遇到了同样的问题。
标签: hadoop hbase apache-pig