我正在执行一个 pig
与有交互的脚本 HBase
我得到以下错误:
原因:java.lang.runtimeexception:无法用org.apache.pig.impl.pigcontext.InstanceFuncFromSpec(pigcontext)中的参数示例化“org.apache.pig.backend.hadoop.hbase.hbasestorage”。java:770)位于org.apache.pig.parser.logicalplanbuilder.buildloadop(logicalplanbuilder)。java:885) ... 38更多原因:sun.reflect.nativeconstructoraccessorimpl.newinstance0(本机方法)的java.lang.reflect.invocationtargetexception at sun.reflect.nativeconstructoraccessorimpl.newinstance0(本机方法)at sun.reflect.nativeconstructoraccessorimpl.newinstance(nativeconstructoraccessorimpl)。java:62)在sun.reflect.delegatingconstructoraccessorimpl.newinstance(delegatingconstructoraccessorimpl。java:45)在java.lang.reflect.constructor.newinstance(构造函数。java:423)位于org.apache.pig.impl.pigcontext.instantialefuncfromspec(pigcontext。java:738) ... 39更多原因:java.lang.nosuchmethoderror:org.apache.hadoop.hbase.client.scan.setcacheblocks(z)v at org.apache.pig.backend.hadoop.hbase.hbastorage.initscan(hbastorage)。java:429)在org.apache.pig.backend.hadoop.hbase.hbastorage.(hbastorage。java:370) ... 44个以上
pig版本:pig 0.17.0
hbase版本:hbase 1.3.1
1条答案
按热度按时间dhxwm5r41#
库中有一个pig0.16.0版本的jar。所以有时候,当我在oozie中运行一个pig脚本时,它会选择该版本并与hbase 1.x版本相连接,我相信这就是上述失败的原因。
所以,我已经删除了那个旧的jar文件,现在这个脚本与hbase集成,并在pig0.17版本中运行良好。