使用$ HIVE_METASTORE_JARS指定正确的hive jar的vaild路径或将spark.sql.hive.metastore.version更改为1.2.1

时间:2016-09-19 20:50:08

标签: hadoop apache-spark hive metastore

当我尝试在有HiveContext的Jar上运行spark-submit时,得到以下错误。

Spark-defaults.conf

spark.sql.hive.metastore.version 0.14.0
spark.sql.hive.metastore.jars ----/external_jars/hive-metastore-0.14.0.jar
#spark.sql.hive.metastore.jars maven

我想使用Hive Metastore版本0.14。火花和hadoop都在差异群上。

有人可以帮我解决这个问题吗?

16/09/19 16:52:24 INFO HiveContext:默认仓库位置是/ apps / hive / warehouse 线程“main”中的异常java.lang.IllegalArgumentException:只有在hive执行版本== hive Metastore版本时才能使用内置jar。执行:1.2.1!= Metastore:0.14.0。  使用$ HIVE_METASTORE_JARS指定正确的hive jar的vaild路径,或将spark.sql.hive.metastore.version更改为1.2.1。         在org.apache.spark.sql.hive.HiveContext.metadataHive $ lzycompute(HiveContext.scala:254)         在org.apache.spark.sql.hive.HiveContext.metadataHive(HiveContext.scala:237)         在org.apache.spark.sql.hive.HiveContext.setConf(HiveContext.scala:441)         at org.apache.spark.sql.SQLContext $$ anonfun $ 4.apply(SQLContext.scala:272)         at org.apache.spark.sql.SQLContext $$ anonfun $ 4.apply(SQLContext.scala:271)         在scala.collection.Iterator $ class.foreach(Iterator.scala:727)         在scala.collection.AbstractIterator.foreach(Iterator.scala:1157)         在scala.collection.IterableLike $ cla

1 个答案:

答案 0 :(得分:0)

尝试

val hadoopConfig: Configuration = spark.hadoopConfiguration 
hadoopConfig.set("fs.hdfs.impl", classOf[org.apache.hadoop.hdfs.DistributedFileSystem].getNam‌​e) 
hadoopConfig.set("fs.file.impl", classOf[org.apache.hadoop.fs.LocalFileSystem].getName)
火花中的