如何使用Scala从Spark读取Hive Hbase表

问题描述

我正在尝试通过spark数据帧读取配置单元hbase表。我已经添加了所有必需的依赖项。但仍然失败,并显示以下错误

    ERROR log: error in initSerDe: java.lang.classNotFoundException 
Class org.apache.hadoop.hive.hbase.HBaseSerDe not found  
    java.lang.classNotFoundException: Class org.apache.hadoop.hive.hbase.HBaseSerDe not found

以下是sbt依赖项:

scalaVersion := "2.11.11"

// https://mvnrepository.com/artifact/org.apache.spark/spark-core
libraryDependencies += "org.apache.spark" %% "spark-core" % "2.2.0"

// https://mvnrepository.com/artifact/org.apache.spark/spark-sql
libraryDependencies += "org.apache.spark" %% "spark-sql" % "2.2.0"


// https://mvnrepository.com/artifact/org.apache.hive/hive-hbase-handler
libraryDependencies += "org.apache.hive" % "hive-hbase-handler" % "3.1.0"

火花代码是:

spark.sql("Select * from video_analytics.video_creator_map").show()

我已经在hbase中创建了video_creator_map表,并创建了一个具有相同名称和Serde属性'org.apache.hadoop.hive.hbase.HBaseStorageHandler'的配置单元外部表。

我能够在配置单元中运行上述查询并获得结果。但是当我通过spark运行时,相同的查询给出了错误。我在这里使用Scala的Spark。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)