在EMR中,与HBase集成的Pig脚本在尝试加载数据时失败

在EMR中,与HBase集成的Pig脚本在尝试加载数据时失败,hbase,apache-pig,emr,Hbase,Apache Pig,Emr,我正在执行一个pig脚本,该脚本与HBase交互,我得到以下错误: 原因:java.lang.RuntimeException:无法实例化 参数为的“org.apache.pig.backend.hadoop.hbase.hbastorage” org.apache.pig.impl.PigContext.InstanceEFuncFromSpec(PigContext.java:770) 在 org.apache.pig.parser.LogicalPlanBuilder.buildLoadO

我正在执行一个
pig
脚本,该脚本与
HBase
交互,我得到以下错误:

原因:java.lang.RuntimeException:无法实例化 参数为的“org.apache.pig.backend.hadoop.hbase.hbastorage” org.apache.pig.impl.PigContext.InstanceEFuncFromSpec(PigContext.java:770) 在 org.apache.pig.parser.LogicalPlanBuilder.buildLoadOp(LogicalPlanBuilder.java:885) ... 38更多原因:java.lang.reflect.InvocationTargetException 在sun.reflect.nativeConstructor附件mpl.newInstance0(本机 方法)在 sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 在 sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 位于java.lang.reflect.Constructor.newInstance(Constructor.java:423) 在 org.apache.pig.impl.PigContext.InstanceEFuncFromSpec(PigContext.java:738) ... 39更多原因:java.lang.NoSuchMethodError: org.apache.hadoop.hbase.client.Scan.setCacheBlocks(Z)V位于 org.apache.pig.backend.hadoop.hbase.hbastorage.initScan(hbastorage.java:429) 在 org.apache.pig.backend.hadoop.hbase.hbastorage.(hbastorage.java:370) ... 44多

清管器版本:清管器0.17.0


HBase版本:HBase 1.3.1

库中有一个Pig 0.16.0版本JAR。所以有时候,当我在Oozie中运行Pig脚本时,它会选择该版本,并与HBase 1.x版本连接,我认为这就是上述失败的原因

所以,我已经删除了那个旧的JAR文件,现在这个脚本与HBase集成,在Pig 0.17版本中运行良好