我正在尝试在我的 Mac 上安装 Spark。我使用自制软件来安装 spark 2.4.0 和 Scala。我已经在我的 anaconda 环境中安装了 PySpark,并且正在使用 PyCharm 进行开发。我已经导出到我的 bash 配置文件:
export SPARK_VERSION=`ls /usr/local/Cellar/apache-spark/ | sort | tail -1`
export SPARK_HOME="/usr/local/Cellar/apache-spark/$SPARK_VERSION/libexec"
export PYTHONPATH=$SPARK_HOME/python/:$PYTHONPATH
export PYTHONPATH=$SPARK_HOME/python/lib/py4j-0.9-src.zip:$PYTHONPATH
但是我无法让它工作。
我怀疑这是由于读取回溯的 java 版本所致。我真的很感激一些帮助解决了这个问题。如果有任何我可以提供的信息在追溯之外有帮助,请发表评论。
我收到以下错误:
Traceback (most recent call last):
File "<input>", line 4, in <module>
File "/anaconda3/envs/coda/lib/python3.6/site-packages/pyspark/rdd.py", line 816, in collect
sock_info = self.ctx._jvm.PythonRDD.collectAndServe(self._jrdd.rdd())
File "/anaconda3/envs/coda/lib/python3.6/site-packages/py4j/java_gateway.py", line 1257, in __call__
answer, self.gateway_client, self.target_id, self.name)
File "/anaconda3/envs/coda/lib/python3.6/site-packages/py4j/protocol.py", line 328, in get_return_value
format(target_id, ".", name), value)
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
原文由 shbfy 发布,翻译遵循 CC BY-SA 4.0 许可协议
编辑 Spark 3.0 支持 Java 11,所以你需要升级
原答案
在 Spark 支持 Java 11 或更高版本(希望在 最新文档 中提及)之前,您必须添加一个标志以将 Java 版本设置为 Java 8。
从 Spark 2.4.x 开始
在 Mac/Unix 上,参见 asdf-java 安装不同的 Javas
在 Mac 上,我可以在我的
.bashrc
中执行此操作,在 Windows 上,检查 Chocolately,但认真地使用 WSL2 或 Docker 来运行 Spark。
您也可以在
spark-env.sh
中进行设置,而不是为整个配置文件设置变量。当然,这意味着 除了 现有的 Java 11 之外,您还需要安装 Java 8