1

当我尝试在具有 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 版。spark 和 hadoop 都在 diff 集群上。

谁能帮我解决这个问题?

16/09/19 16:52:24 信息 HiveContext:默认仓库位置是 /apps/hive/warehouse 线程“main”中的异常 java.lang.IllegalArgumentException:内置 jars 只能在 hive 执行版本 == hive metastore 版本时使用. 执行:1.2.1!= Metastore:0.14.0。使用 $HIVE_METASTORE_JARS 指定正确 hive jar 的有效路径或将 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:27​​2) at org.apache.spark.sql.SQLContext$$ anonfun$4.apply(SQLContext.scala:27​​1) 在 scala。

4

1 回答 1

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)

在火花中

于 2016-09-19T20:52:34.397 回答