java.lang.NoClassDefFoundError: org/apache/spark/sql/SparkSession
Ich geschrieben habe, einen Funken Job in Java. Wenn ich behaupte der Job gibt es folgende Fehlermeldung:
Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/spark/sql/SparkSession
at com.thinkbiganalytics.veon.util.SparkSessionBuilder.getOrCreateSparkSession(SparkSessionBuilder.java:12)
at com.thinkbiganalytics.veon.AbstractSparkTransformation.initSparkSession(AbstractSparkTransformation.java:92)
at com.thinkbiganalytics.veon.transformations.SDPServiceFeeDeductionSourceToEventStore.init(SDPServiceFeeDeductionSourceToEventStore.java:57)
at com.thinkbiganalytics.veon.AbstractSparkTransformation.doTransform(AbstractSparkTransformation.java:51)
at com.thinkbiganalytics.veon.transformations.SDPServiceFeeDeductionSourceToEventStore.main(SDPServiceFeeDeductionSourceToEventStore.java:51)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:745)
at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:181)
at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:206)
at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:121)
at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
Caused by: java.lang.ClassNotFoundException: org.apache.spark.sql.SparkSession
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
Du musst angemeldet sein, um einen Kommentar abzugeben.
beim Einreichen
spark-submit
überprüfen Sie Ihre Projekt sollte die gleiche Abhängigkeit wie der spark-version in pom.xml,
Dies kann sein, weil Sie zwei spark-version auf der gleichen Maschine
für diese können Sie auf zwei verschiedene soft-link und kann die genaue spark-version auf die Sie bauen Ihr Projekt
oder vielleicht, weil von Ihnen haben, erstellen Sie Ihr Projekt mit höheren spark-version
und eingesetzt werden auf dem cluster mit niedrigeren spark-version
hierzu müssen Sie aktualisieren Sie Ihre spark-version, die im cluster. cloudera bietet support
https://community.cloudera.com/t5/Advanced-Analytics-Apache-Spark/Multiple-Spark-version-on-the-same-cluster/td-p/39880
Vermutlich werden Sie die Bereitstellung der Anwendung auf dem cluster mit niedrigeren Spark version.
Bitte überprüfen Sie die Spark-version auf Ihrem cluster - es sollte die gleiche wie die version in pom.xml. Bitte beachten Sie auch, dass alle Spark-Abhängigkeiten sollten als solche gekennzeichnet werden
provided
wenn Sie spark-Vorlage bereitstellen AnwendungGemäß der Ausnahme, die Sie bekommen ,ich denke erforderlichen jar fehlt, müssen Sie die erforderlichen jar in den classpath, die werden das Problem beheben.
finden Sie diese link zu laden Sie die erforderlichen jar -
undichte Gläser spark-Umgebung wird zu diesem problem führen
wenn Sie wurden mit Hilfe von Intellij IDEA,können Sie die folgenden Schritte ausführen:
Datei -> Projekt-Struktur -> Module -> Funke-examples_2.11 -> Abhängigkeiten
Gläser -> {Funke dir}/Funken/Montage/target/scala-2.11/Gläser/