2017-12-07 6 views
0

Ich habe den folgenden Code. Ich habe es in ein Glas umgewandeltClassNotFoundException in

import org.apache.spark.SparkContext 
import org.apache.spark.SparkConf 
import org.apache.spark.sql.SparkSession 
import org.apache.spark.sql.SQLContext 


case class Student (StudentID: Long, 
           creationdate : java.sql.Timestamp, 
           mark1 : String, 
           mark2 : String 
           ) 

object Main { 
    def main(args: Array[String]): Unit = { 
    val conf = new SparkConf().setAppName("EMRCustomerApplication") 
    conf.set("spark.driver.allowMultipleContexts","true") 
    val spark = SparkSession 
     .builder() 
     .appName("Spark In Action") 
     .master("local") 
     .enableHiveSupport() 
     .getOrCreate() 
    System.setProperty("hive.metastore.uris", "thrift://internal-shared-hive-metastore-elb-550897717.us-west-2.elb.amazonaws.com:9083") 
    System.setProperty("hive.metastore.execute.setugi", "false") 
    System.setProperty("spark.driver.allowMultipleContexts","true") 
    val sc = new SparkContext(conf) 
    conf.set("spark.driver.allowMultipleContexts","true") 
    import spark.implicits._ 

    val allRecordsDF = spark.sql(""" select * fromstudent """) 


    } 
} 

Ich bekomme die folgende Ausnahme. Ich dachte - Class Option ist die Hauptklasse des Spark Jar zu erwähnen.Dies ist der Befehl, den ich ausgeführt habe.

spark-submit --class "Main" s3://Users/test/test_2.10-1.0.jar 

Ich habe das getan. Kann jemand sehen, was das Problem ist.

java.lang.ClassNotFoundException: Main 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    at java.lang.Class.forName0(Native Method) 
    at java.lang.Class.forName(Class.java:348) 
    at org.apache.spark.util.Utils$.classForName(Utils.scala:229) 
    at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:695) 
    at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:187) 
    at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:212) 
    at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:126) 
    at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala) 
Command exiting with ret '101' 

Antwort

0

Ort der Klasse unter einem Paket und versuchen Sie, es das Paket der Klasse voranstellen.

+0

Ich habe das auch versucht, funktioniert immer noch nicht – Srinivas

+0

Das Problem scheint mit dem Standort zu sein. Ich habe bemerkt, dass das eingesandte Glas auf s3 liegt. Ich glaube, dass Jar auf der lokalen Maschine sein muss. Haben Sie versucht, jar im lokalen Dateisystem zu finden? – nkasturi

Verwandte Themen