在基于MongoDB的Hive表上的SparkSQL中找不到com.mongodb.hadoop.hive.BSONSerDe

时间:2019-04-25 12:04:23

标签: mongodb apache-spark hadoop hive

我有一个scala作业,可以通过spark sql查询Hive表,然后对返回的数据集执行其他操作:

case class Person(name: String, age: Int)

//create spark session
val ss: SparkSession = SparkSession.builder()
    .master("yarn")
    .appName("my-app")
    .enableHiveSupport()
    .getOrCreate()

//read hive table
val ds = ss.sql("select * from person where age > 20").as[Person]
ds.show()

对于基于HDFS的常规Hive表,使用spark-submit可以正常工作。但是当该表是基于Mongo的Hive表时,出现以下错误消息:

ERROR hive.log: error in initSerDe: java.lang.ClassNotFoundException Class com.mongodb.hadoop.hive.BSONSerDe not found java.lang.ClassNotFoundException: Class com.mongodb.hadoop.hive.BSONSerDe not found

fyi:我在--jars option的{​​{1}}中加入了mongo驱动程序:

spark-submit

还有其他我想念的mongo驱动程序或我做错了吗?

0 个答案:

没有答案