问题描述
我正在尝试通过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 (将#修改为@)