py4j.protocol.Py4JJavaError: An error occurred while calling z:org.apache.spark.api.python.PythonRDD.collectAndServe. : java.lang.IllegalArgumentException: Unsupported class file major version 55

py4j.protocol.Py4JJavaError: An error occurred while calling z:org.apache.spark.api.python.PythonRDD.collectAndServe. : java.lang.IllegalArgumentException: Unsupported class file major version 55

今天小编用Python编写Spark程序报了如下异常:

py4j.protocol.Py4JJavaError: An error occurred while calling z:org.apache.spark.api.python.PythonRDD.collectAndServe.
: java.lang.IllegalArgumentException: Unsupported class file major version 55

从网上找到的解决方案是JDK版本问题,于是乎小编将Java11降低为了Java8,重启编译器运行,还是报同样错。不过还好,我们可以使用代码手动指定要使用的JDK。

在代码开头加上如下代码即可:

import os
java8_location = 'C:Program FilesJavajdk1.8.0_241'  # 设置你自己的路径
os.environ['JAVA_HOME'] = java8_location

重新运行就可以了。