/ / Spark Submit wirft einen Fehler bei der Verwendung von Hive-Tabellen - Apache-Spark, Hive, Spark-Dataframe

Spark submit wirft einen Fehler bei der Verwendung von Hive-Tabellen - Apache-Spark, Hive, Spark-Dataframe

Ich habe einen seltsamen Fehler, ich versuche, Daten zu Bienenstock schreiben, es funktioniert gut in Spark-Shell, aber während ich Spark-submit, es werfen Datenbank / Tabelle nicht im Standardfehler gefunden.

Nachstehend ist die Codierung, die ich versuche, in Spark-Submit zu schreiben, ich benutze Custom Build von Spark 2.0.0

 val sqlContext = new org.apache.spark.sql.SQLContext(sc)
sqlContext.table("spark_schema.iris_ori")

Folgendes ist der Befehl, den ich verwende,

/home/ec2-user/Spark_Source_Code/spark/bin/spark-submit --class TreeClassifiersModels --master local[*] /home/ec2-user/Spark_Snapshots/Spark_2.6/TreeClassifiersModels/target/scala-2.11/treeclassifiersmodels_2.11-1.0.3.jar /user/ec2-user/Input_Files/defPath/iris_spark SPECIES~LBL+PETAL_LENGTH+PETAL_WIDTH RAN_FOREST 0.7 123 12

Folgendes ist der Fehler,

16/05/20 09:05:18 INFO SparkSqlParser: Parsing-Befehl: spark_schema.measures_20160520090502 Ausnahme im Thread "main" org.apache.spark.sql.AnalysisException: Datenbank "spark_schema" existiert nicht; bei org.apache.spark.sql.catalyst.catalog.ExternalCatalog.requireDbExists (ExternalCatalog.scala: 37) bei org.apache.spark.sql.catalyst.catalog.InMemoryCatalog.tableExists (InMemoryCatalog.scala: 195) bei org.apache.spark.sql.catalyst.catalog.SessionCatalog.tableExists (SessionCatalog.scala: 360) bei org.apache.spark.sql.DataFrameWriter.saveAsTable (DataFrameWriter.scala: 464) bei org.apache.spark.sql.DataFrameWriter.saveAsTable (DataFrameWriter.scala: 458) bei TreeClassifiersModels $ .main (TreeClassifiersModels.scala: 71) bei TreeClassifiersModels.main (TreeClassifiersModels.scala) bei sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Methode) bei sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) bei sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) bei java.lang.reflect.Method.invoke (Methode.java:497) at org.apache.spark.deploy.SparkSubmit $ .org $ apache $ spark $ deploy $ SparkSubmit $$ runMain (SparkSubmit.scala: 726) bei org.apache.spark.deploy.SparkSubmit $ .doRunMain $ 1 (SparkSubmit.scala: 183) bei org.apache.spark.deploy.SparkSubmit $ .submit (SparkSubmit.scala: 208) bei org.apache.spark.deploy.SparkSubmit $ .main (SparkSubmit.scala: 122) unter org.apache.spark.deploy.SparkSubmit.main (SparkSubmit.scala)

Antworten:

2 für die Antwort № 1

Das Problem war aufgrund der Abwertung bei Spark Version 2.0.0 aufgetreten. Der Hive-Kontext wurde in Spark 2.0.0 nicht weiter unterstützt. Um Hive-Tabellen in Spark 2.0.0 lesen / schreiben zu können, müssen wir die Spark-Sitzung wie folgt verwenden.

val sparkSession = SparkSession.withHiveSupport(sc)