Issue running Hive on spark with Hive table view mapping with Hbase table : java.lang.NoSuchMethodError: org.apache.hadoop.hive.serde2.lazy

Issue running Hive on spark with Hive table view mapping with Hbase table : java.lang.NoSuchMethodError: org.apache.hadoop.hive.serde2.lazy

我正在尝试通过 Spark 引擎从配置单元映射来访问 Hbase table。

来自 Hive:

当我运行 Hive 视图上的查询与 Hbase 映射时,我可以获得所有想要的结果。

来自星火:

当我 运行 查询从配置单元 table 获取时,我可以得到它但是当我对 hbase 映射的配置单元执行相同操作时 table 我得到以下错误。

Error: java.lang.NoSuchMethodError: org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe.initSerdeParams(Lorg/apache/hadoop/conf/Configuration;Ljava/util/Properties;Ljava/lang/String;)Lorg/apache/hadoop/hive/serde2/lazy/LazySimpleSerDe$SerDeParameters; (state=,code=0)

我想知道是否可以通过 spark 来实现,因为我没有在网上找到任何解决方案。

从上面的错误我可以看出这是一些 jar 问题并且这个方法存在于 hive-serde jar 和 hive-exec jar 中,但是尝试了所有可能的替代方法但未能成功..

任何人都可以帮忙吗..

注意:我的主要 objective 在这里检查性能,因为它在蜂巢和猪中也花费了大量时间。

我不确定您使用的是哪个版本的软件 hive、hbase 和 spark ...

这似乎是版本不匹配的问题。

Spark 1.3.1使用Hive 0.13API,而Spark 1.5.1使用Hive 1.2,hive 2.3自带的hbase serde与Hive 0.13不兼容API . 我尝试使用旧的 Serde for Hive 0.13,但是与 Hbase API 版本有很多冲突。

  • 根据您的需要,您可以尝试 Spark+Hbase 本机集成而不是 Hive-Hbase Serde
  • 或者您可以使用正确兼容的 hive 版本。

也看看https://issues.apache.org/jira/browse/HIVE-12406可能是同样的问题...