2016-09-19 1 views
0

Wenn ich versuche, Spark-Submit auf dem Jar, der HiveContext hatte, zu starten, bekomme ich den folgenden Fehler.

Funken defaults.conf hatte

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 

Ich möchte Hive verwenden Metastore Version 0.14. Sowohl der Funke als auch der Hadoop befinden sich auf Diff-Clustern.

Kann mir jemand helfen, dieses Problem zu lösen?

16/09/19 16:52:24 INFO HiveContext: Standardlagerstandort ist/apps/Nest/Lager Exception in thread "main" java.lang.IllegalArgumentException: Builtin Gläser nur verwendet werden, wenn hive Ausführung Version == Hive-Metastre-Version. Ausführung: 1.2.1! = Metastore: 0.14.0. Geben Sie mit $ HIVE_METASTORE_JARS einen gültigen Pfad zu den richtigen Hive-Jars an oder ändern Sie spark.sql.hive.metastore.version in 1.2.1. bei org.apache.spark.sql.hive.HiveContext.metadataHive $ lzycompute (HiveContext.scala: 254) bei org.apache.spark.sql.hive.HiveContext.metadataHive (HiveContext.scala: 237) bei org. apache.spark.sql.hive.HiveContext.setConf (HiveContext.scala: 441) bei org.apache.spark.sql.SQLContext $$ anonfun $ 4.apply (SQLContext.scala: 272) bei org.apache.spark. sql.SQLContext $$ anonfun $ 4.apply (SQLContext.scala: 271) unter scala.collection.Iterator $ class.foreach (Iterator.scala: 727) unter scala.collection.AbstractIterator.foreach (Iterator.scala: 1157) bei scala.collection.IterableLike $ cla

Antwort

0

versuchen

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) 

in den Funken

+0

Danke tesnik03.Coul Sie mir bitte Code in Java geben. – AKC

+0

Dieser Code wurde der Spark-Anwendung hinzugefügt. aber es hat nicht geholfen. Können Sie mir eine andere Empfehlung geben? Mache ich das richtig? \t SparkConf conf = new SparkConf(). SetAppName ("Spark-POC-tar-Anwendung"); // conf.setMaster ("funken: //*****.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

Ich denke, dass Sie Funken mit spezifischen Bienenstockbibliotheken errichten müssen. Bitte konsultieren Sie Spark-Dokumentation für Build von der Quelle. Neugierig: Jeder spezifische Grund, ältere Versionen von Hive zu verwenden –

Verwandte Themen