2016-09-19 1 views
0

Когда я пытаюсь запустить spark-submit на Jar с HiveContext, получив следующую ошибку.

искровым 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 

Я хотел бы использовать улей Metastore версии 0.14. как искра, так и hadoop находятся на разностных кластерах.

Может ли кто-нибудь помочь мне в разрешении этого?

16/09/19 16:52:24 INFO HiveContext: по умолчанию местоположение склада/приложения/улей/склад Исключение в потоке «основные» java.lang.IllegalArgumentException: Builtin банки могут быть использованы только тогда, когда улей версия исполнения == hive metastore version. Исполнение: 1.2.1! = Метасторе: 0.14.0. Укажите путь vaild к правильным кустам с использованием $ HIVE_METASTORE_JARS или измените значение spark.sql.hive.metastore.version на 1.2.1. at org.apache.spark.sql.hive.HiveContext.metadataHive $ lzycompute (HiveContext.scala: 254) at org.apache.spark.sql.hive.HiveContext.metadataHive (HiveContext.scala: 237) at 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) at scala.collection.Iterator $ class.foreach (Iterator.scala: 727) at scala.collection.AbstractIterator.foreach (Iterator.scala: 1157) at scala.collection.IterableLike $ cla

ответ

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) 

в искре

+0

Спасибо tesnik03.Coul, пожалуйста, дайте мне код в Java. – AKC

+0

Добавил этот код в приложение Spark. но это не помогло. Можете ли вы предоставить мне другую рекомендацию. Я делаю это правильно? \t SparkConf conf = новый SparkConf(). SetAppName ("Spark POC tar Application"); // conf.setMaster ("spark: //*****.net: 7077"); conf.set ("fs.hdfs.impl", org.apache.hadoop.hdfs.DistributedFileSystem.class.getName()); conf.set ("fs.file.impl", org.apache.hadoop.fs.LocalFileSystem.class.getName()); – AKC

+0

Я думаю, вам нужно построить искру с конкретными библиотеками улей. Пожалуйста, обратитесь к документации Spark для сборки из источника. Любопытно: любая конкретная причина использовать более старые версии Hive –

Смежные вопросы