在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版本中运行良好