首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在运行Apache Pig脚本时找到jar依赖项?

如何在运行Apache Pig脚本时找到jar依赖项?
EN

Stack Overflow用户
提问于 2015-06-17 17:01:56
回答 2查看 1.5K关注 0票数 2

我在运行一个简单的pig脚本以使用HBaseStorage将数据导入HBase时遇到了一些困难

我遇到的错误是这样的:

代码语言:javascript
复制
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引用所需的适当jars。让我困惑的是,在给定适当的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的文档没有提供任何我可以参考的明显链接和帮助。

我使用的是Hadoop2.7.0,HBase 1.0.1.1.,Pig 0.15.0。

如果您需要任何其他澄清,请随时再问我一次。如果有人能帮我解决这个问题,我将不胜感激。

另外,是从头开始安装Hadoop和相关软件更好,还是直接获得一个可用的Hadoop包更好?

EN

回答 2

Stack Overflow用户

发布于 2015-08-07 19:11:26

发布的jar有问题: hbase-client-1.0.1.1.jar

你可以用下面的代码测试它,错误将会显示出来:

代码语言:javascript
复制
Scan scan = new Scan();
scan.setCacheBlocks(true);

我尝试过其他的set函数,比如setCaching,它抛出了同样的错误。虽然我检查了源代码,但这些函数是存在的。也许只是手动编译hbase-client-1.0.1.1.jar,我还在寻找更好的解决方案……

============

以上更新,发现根本原因是hbase-client-1.0.1.jar与旧版本不兼容。

https://issues.apache.org/jira/browse/HBASE-10841

https://issues.apache.org/jira/browse/HBASE-10460

set函数的返回值有变化,用旧版本编译的jar不能用当前版本工作。

对于您的问题,您可以修改pig脚本$PIG_HOME/bin/pig,设置debug=true,然后它将只打印运行信息。

票数 3
EN

Stack Overflow用户

发布于 2015-06-18 11:42:14

您是否注册了所需的jars。

最重要的罐子,动物园管理员和芭乐

我通过在我的pigscript中注册zookeeper jar解决了类似的问题

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30886937

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档