Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法运行spark应用程序,因为java.lang.NoClassDefFoundError:org/postgresql/Driver_Java_Postgresql_Apache Spark - Fatal编程技术网

无法运行spark应用程序,因为java.lang.NoClassDefFoundError:org/postgresql/Driver

无法运行spark应用程序,因为java.lang.NoClassDefFoundError:org/postgresql/Driver,java,postgresql,apache-spark,Java,Postgresql,Apache Spark,我无法运行mt Spark应用程序,因为java.lang.NoClassDefFoundError:org/postgresql/Driver 我也这么做了,但当我尝试启动我的应用程序时,我得到了这个例外 Exception in thread "main" java.lang.NoClassDefFoundError: org/postgresql/Driver at SparkRecommendationMatrix.<init>(SparkRecommendation

我无法运行mt Spark应用程序,因为java.lang.NoClassDefFoundError:org/postgresql/Driver

我也这么做了,但当我尝试启动我的应用程序时,我得到了这个例外

Exception in thread "main" java.lang.NoClassDefFoundError: org/postgresql/Driver
    at SparkRecommendationMatrix.<init>(SparkRecommendationMatrix.scala:31)
    at Main$.main(Main.scala:26)
    at Main.main(Main.scala)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.apache.spark.deploy.SparkSubmit$.launch(SparkSubmit.scala:292)
    at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:55)
    at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
Caused by: java.lang.ClassNotFoundException: org.postgresql.Driver
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    ... 10 more
还有我的java代码

val classes = Seq(
    getClass, // To get the jar with our own code.
    classOf[org.postgresql.Driver] // To get the connector.
  )

  val jars = classes.map(_.getProtectionDomain().getCodeSource().getLocation().getPath())

  // set up environment
  val conf = new SparkConf().setAppName(name).setJars(jars)
  //.setMaster("spark://192.168.10.122:7077")
  val sc = new SparkContext(conf)

我遇到了类似的问题。通过将
postgresql.jar
作为spark submit的一个参数传递来解决:

spark-submit --class <<class>> --jars /full_path_to/postgressql.jar My_File.jar
spark submit--class--jars/full_path_to/postgresql.jar My_File.jar

Spark应用程序/安装显然没有Postgres JDBC驱动程序。Jens的回答是绝对正确的。可能这是因为当前的9.2驱动程序具有内部版本号
1004
而不是
1003
?我也有同样的问题。你们都想办法解决这个问题了吗?
spark-submit --class <<class>> --jars /full_path_to/postgressql.jar My_File.jar