我正在执行一个pig脚本,它与HBase进行交互,并得到以下错误:
由:'org.apache.pig.backend.hadoop.hbase.HBaseStorage‘:无法实例化org.apache.pig.impl.PigContext.instantiateFuncFromSpec(PigContext.java:770) at org.apache.pig.parser.LogicalPlanBuilder.buildLoadOp(LogicalPlanBuilder.java:885)上的参数.在sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.上由: java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native方法引起的多出38java:62)在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at org.apache.pig.impl.PigContext.instantiateFuncFromSpec(PigContext.java:738) .39个原因是: java.lang.NoSuchMethodError: org.apache.hadoop.hbase.client.Scan.setCacheBlocks(Z)V at org.apache.pig.backend.hadoop.hbase.HBaseStorage.initScan(HBaseStorage.java:429)在org.apache.pig.backend.hadoop.hbase.HBaseStorage.(HBaseStorage.java:370) . 44
猪版:猪0.17.0
HBase版本: HBase 1.3.1
发布于 2018-05-21 12:33:26
图书馆里有一个0.16.0版的猪罐。因此,有时,当我在Oozie中运行一个Pig脚本时,它会选择该版本,并与HBase 1.x版本连接,我认为这是导致上述失败的原因。
因此,我已经删除了那个较旧的JAR文件,现在该脚本与HBase集成,并在Pig0.17版本中运行良好。
https://stackoverflow.com/questions/50281800
复制相似问题